問題タブ [pypdf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4360 参照

python - PyPDF マージと書き込みの問題

これを使用すると、予期しないエラーが発生します。最初のセクションは、オンラインで見つけたスクリプトからのもので、PDF のアウトラインで特定された特定のセクションを引き出すために使用しようとしています。それが言うことを除いて、すべてが正常に動作output.write(outputfile1)します:

PdfReadError: 辞書に複数の定義があります。

他の誰かがこれに遭遇しますか?最後に不要なprints があることをすべてお許しください。:)

0 投票する
5 に答える
2894 参照

c++ - PDFドキュメントのすべてのページを1インチ右にシフトするにはどうすればよいですか?

既存のPDFドキュメントのすべてのページを1インチ右にシフトして、コンテンツにヒットせずに3つの穴を開けられるようにします。PDFドキュメントはすでに生成されているため、生成方法を変更することはできません。

iTextは前の質問からこれを行うことができるようです。

C ++またはPythonの同等のライブラリ(またはこれを行う方法)は何ですか?

プラットフォームに依存する場合は、Linuxで動作するものが必要です。

更新:他の誰かがこのページを見つけてそれを必要とする場合に備えて、これを行うために私が書いた小さなスクリプトを投稿すると考えました。

スコットアンダーソンの提案のおかげで動作するコード:

rightshift.py

0 投票する
0 に答える
2086 参照

pdf - ブックマークの宛先ドキュメントのプロパティを削除する方法

質問はPDFブックマークについてです。
ブックマークが作成されるとき、本当にそうする理由がない限り、ユーザーが設定しないように勧められる宛先ページレイアウトを(とりわけ)割り当てるオプションがあります。
時々、私はこの種のドキュメントに出くわし、もちろんブックマークを保持しながら、このプロパティを永久に削除したいと思っています。

私の質問を理解していると思いますが、そうでない場合は、この問題の言い方を変えてください。
私の好みは、PDFリーダー(Evince)を2ページ表示と最適なページレイアウトに設定することです。これは私にとって最も快適です。現在、一部のPDFドキュメントでは、ブックマークの宛先にカスタムドキュメントレイアウト(ページ幅75%など)が設定されており、ブックマークを使用してページにジャンプするたびにレイアウトを修正する必要があります。

PDFリーダーでこのプロパティを無視するオプションは素晴らしいですが、そうではないので、コマンドラインツールを使用してこのPDFファイルを処理し、PDFブックマークからこのカスタムプロパティをすべて削除したいと思います。


アップデート:

これが私が今どこにいるのか-どこにもありません:)

この問題を「修正」するためのツールが必要だっただけでなく、影響を受けるPDFファイルを知る必要もありました。

私は仕事にpyPdfを使用しました:

次のような行:

$ for f in *.pdf ; do python chk-out.py "$f" ; done

次のような出力があります。

スクエアブラケットでは、それは宛先レイアウトのタイプです。
スクリプトは高速(1秒あたり数個のドキュメント)で把握しやすく、そうではないのは、pyPdfがPDFブックマークの書き込みをサポートしていないことだけです。


pdftk私はこのタスクに使用することを考えました:

1:メタデータとブックマークを別々のファイルにダンプします。

pdftk doc.pdf dump_data | grep ^Info > doc.nfo
pdftk doc.pdf dump_data | grep ^Book > doc.toc

2:ブックマークを削除してから、「doc.toc」から更新してみてください

2a。単に「doc.toc」と書いてみてください

pdftk doc.pdf update_info doc.toc output new.pdf

  • 何も変わっていません

2b。ブックマークのアウトラインが削除されることを期待して、情報メタデータを書き込みます。

pdftk doc.pdf update_info doc.nfo output new.pdf

  • それは起こらなかった

2c。BookmarkTitle: Temp titleブックマークが上書きされることを期待して、「doc.nfo」に行を追加します。

echo "BookmarkTitle: Temp title" >> book.nfo
pdftk doc.pdf update_info doc.nfo output new.pdf

  • それは起こらなかった

ここで私は立ち止まりました

空のファイルを持つGhostScriptを除いて、PDFファイルからブックマークを削除できるCLIツールは他にありませんがpdfmarks、GSはPDFファイルの処理に時間がかかりすぎるため、それを避けたいと思います。

また、このプロセスで、これがEvinceのバグであると疑うようになりました。上記の問題は、宛先ブックマークタイプが/FitH「FitHorizo​​ntaly」に設定されている場合にのみ発生します。代わりに「FitHeight」を想定します。これがEvinceの動作です。Wineで開いたとき、またはWineで
開いたときの同じファイルは、 Evinceのようには動作しません。多分それはこのPDFビューアがどのように設計されているかですが、私はいくつかのWindows PDFリーダーで同じ問題を目撃したことを覚えています(どれを思い出せません) ePDFViewerSumatraPDF

ところで、私はEvince2.32.0を搭載したUbuntu11.04を使用しています

0 投票する
4 に答える
7680 参照

python - ブックマークのページ番号を取得する方法

pyPdf.pdf.Destination多くのプロパティがありますが、そのブックマークの参照ページ番号が見つかりません。ブックマークのページ番号を取得するにはどうすればよいですか?


たとえばoutlines[1].page.idnum、PDFドキュメントの参照ページ番号の約3倍の数値を返します。これは、ページよりも小さいオブジェクトを参照していると想定しています.page.idnum。PDFドキュメントのアウトライン全体で実行すると、「実際の」と線形に相関していない数値の配列が返されるためです。 PDFドキュメントのページ番号の宛先であり、およそ3倍になります


更新:この質問はこれと同じです:著者がそこでの自己回答で何をしたかはわかりませんが、アウトラインに基づいてPDFを分割します。複雑すぎて使えないようです

0 投票する
1 に答える
1491 参照

python - Python の Pypdf パッケージのアサーション エラー

Windows プラットフォームで Python 2.4 と PyPdf 1.13 を使用しています。次のコードを使用して、PDFファイルをリストから1つにマージしようとしています:

このコードを実行すると、次のエラーが発生します。

どんな助けでも大歓迎です。

0 投票する
1 に答える
2141 参照

python - Python で既存の PDF から新しい PDF を作成する

Python で別の PDF をテンプレートとして使用して PDF レポートを作成する方法に苦労しています。毎日レポートを作成するためのテンプレートとして使用できる PDF ファイル ( Template.pdf ) があります。Template.pdf は次のようになります。



SalesName OrderQty ConfirmedQty ShippedQty




以下に示すように、ReportDate と売上データをプログラムで入力し、レポートを PDF 形式で準備する必要があります。



SalesName OrderQty ConfirmedQty ShippedQty


ジェイソン 1000 900 50


ピーター 500 50 450


ムラリ 2000 1000 900


いいえ。営業担当者の数は固定されています (つまり、レポートの行数は固定されています)。

0 投票する
1 に答える
2055 参照

python - pyPdf 出力ファイルは、ページ数に関係なく同じサイズです

pyPdf を使用して、大きな PDF からいくつかのページを別のファイルに抽出しようとしています。いつでも、結果のファイルサイズはソースファイルとほぼ同じです。ページにリンクが含まれていない場合、出力ファイルのサイズが非常に小さいため、ファイル内のブックマークと関係があると思います。出力ファイルからブックマークを除外する方法がわかりません。

0 投票する
3 に答える
23315 参照

python - pyPdf で pdf の URL を開く

ディスクからではなくURLからPDFを開くにはどうすればよいですか

何かのようなもの

Web からいくつかのファイルを開き、すべてのファイルのマージをダウンロードしたいと考えています。

0 投票する
2 に答える
17068 参照

pdf - PDF-白い余白を削除

PDFファイルから白い余白を削除する方法を知りたいのですが。Adobe AcrobatXProと同じように。すべてのPDFファイルで機能するとは限らないことを理解しています。

それを行う方法は、テキストの余白を取得し、その余白からトリミングすることだと思います。

PyPdfが推奨されます。

iTextは、次のコードに基づいてテキストマージンを検索します。

0 投票する
1 に答える
2460 参照

python - pyPdf エラー無効な引数

私は実際にpyPdfを使用して、PDFファイルのコンテンツを開き、読み書きしています。

そのために、次のコード行を使用します。

しかし、このエラーが返され、その理由が正確にはわかりません

誰でも私を助けることができますか?