問題タブ [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 投票する
2 に答える
2896 参照

python - PDF ページ内のすべてのオブジェクトを繰り返し処理し、どのオブジェクトがテキスト オブジェクトであるかを確認する方法は?

pypdf を使用して、pdf のページ内のすべてのオブジェクトを反復処理したいと考えています。

また、テキストかグラフィックかにかかわらず、オブジェクトのタイプを確認したいと思います。

コード スニペットは非常に役立ちます。

どうもありがとう

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

python - PDFFileReader が使用後に PDF を閉じない

重複の可能性:
pyPDF「PdfFileReader」クラスファイルハンドルを閉じる方法

Win 64ビットでPython 2.7を実行しています。PDFをファイルにダウンロードし、PDFを開いてテキストを抽出し、最後にPDFを削除しようとしていますが、Pythonを削除しようとするとエラーが発生します(Pythonコードを使用して手動で削除しようとしていますpdf - Windows は、ファイルが pythonw によって使用されていることを示しています)。私の簡略化されたコード:

返されたエラー:

助言がありますか?

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

python - PDF 裁ち落とし検出

私は現在、プリンターの適合性について PDF をテストするための小さなツール (Python + pyPdf) を作成しています。

悲しいかな、私は最初のタスクですでに混乱しています: PDF に少なくとも 3mm の「裁ち落とし」(何も印刷されていないページの境界線) があるかどうかを検出することです。グローバルなものがないように見えるため、完全なドキュメントの裁ち落としを検出できないことは既にわかっています。ただし、ページでは、合計 5 つの異なるボックスを検出できます。

  • mediaBox
  • bleedBox
  • trimBox
  • cropBox
  • artBox

これらのボックスに関するpyPdf のドキュメントを読みましたがmediaBox、全体のページ サイズ (つまり、紙) を表していると思われるのみを理解しました。

ブリードを定義する必要があることはbleedBox明らかですが、常にそうであるとは限りません。

私が指摘したもう 1 つのことは、たとえばPDFの場合、これらのボックスはすべて各ページでまったく同じサイズ (まったく裁ち落としがないことを意味します) ですが、開くと大量の裁ち落としがあることです。これにより、個々のテキスト要素には独自のオフセットがあると思います。

したがって、明らかに、 と からブリードを計算するだけでmediaBoxbleedBox実行可能なオプションではありません。

誰かがそれらのボックスが実際に何であるか、そしてそこから私が結論できること (たとえば、あるボックスは常に別のボックスよりも小さい) に光を当てることができれば、私は非常に嬉しく思います。

おまけの質問:ドキュメントに記載されている「デフォルトのユーザー空間ユニット」が正確に何であるかを誰か教えてもらえますか? これは私のマシンで言及していると確信していますが、どこにでも適用したいと思います。mmmm

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

python - PdfFileWriter からブロブストア ファイルを作成する

PythonとGoogleアプリエンジンを使用して、2つのpdfをpyPdfライブラリとマージしようとしています。ブロブストアからファイルを読み取り、必要な情報を使用して PdfFileWriter オブジェクトを作成しますが、この PdfFileWriter をブロブストア ファイルに変換するのに問題があります。それを解決するためのアイデアはありますか?ありがとうございました :)

これが私のコードです:

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

python - tkinter で GUI を使用して PDF ページを表示する

私はpyPdfを使用してpdfページをトリミングしています。そして、私が見逃しているのは、このスクリプトの GUI だけです。GUIを行うためにtkinterモジュールを手に入れましたが、tkinterで作成したGUIでpdfページを表示できるかどうかわかりません。

何かご意見は ?

ありがとうございました。

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

python - 実際にファイルを作成せずに、変数または http URL からファイル オブジェクトを取得する方法は?

ダウンロードした PDF を PyPDF を使用して操作したいのですが、そのためにはファイル オブジェクトが必要です。

GAE を使用して Python アプリをホストしているため、実際にファイルをディスクに書き込むことができません。

URL から、またはファイルの内容を含む変数からファイル オブジェクトを取得する方法はありますか?

ティア。

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

python - reportlab pythonライブラリを使用してPDF印刷に透明な透かしを追加するにはどうすればよいですか

動的に生成された PDF 印刷で透かしを描画する必要があります。

私はpyPdfライブラリを使用してそれを行いました(元のPDFと透かし付きのPDFをマージすることにより)。 http://wa5pb.freeshell.org/motd/?p=769

私の問題は、reportlab ライブラリの drawImage 機能の mask パラメータを使用せずに、透かし画像を透明にする必要があることです。これは手動であるためです。助言がありますか?

ありがとう!。

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

python - PythonでPDFに「欠落している」ページを空白ページとして挿入するにはどうすればよいですか?

2、4、5番のページ(ファイルの名前はtest_002.pdf、test_004.pdf、test_005.pdf)に参加する必要があるとすると、3ページ目が欠落していると言えます。

私がやろうとしているのは、これらのコマンドの結果を取得することです。

これは、偶数ページと奇数ページを1つの一意のページに結合し、欠落しているページの代わりに空白のページ(3)を使用します。

私はそれがすべきだと思います:

  1. 受信ファイルを最初から最後までチェックして、欠落しているページを探します(この場合、2から5の欠落#3)
  2. オンザフライで空白の「23.5cm、30cm」PDFページを生成します(おそらくpyPdfを使用)
  3. それらを「偶数」と「奇数」にカップルとして分類し、奇数ページですべての偶数に参加できるようにします(pdfjamを使用)…

私は正しいですか?

Pythonのいくつかの行でそれは可能ですか?または、もっと簡単な方法はありますか?

これが私が始めたことで、ホットフォルダーのように機能するようにしていますが、偶数と奇数の管理で完全に失われ、「ファイル/ページ」が欠落しています。

前もって感謝します!

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

python - PythonでPDFファイルに%%EOFを追加する

pyPdf で PDF を開こうとしています。次のエラーが表示されます。

自分でEOFを追加する必要があると思いました。しかし、私はバイトを書きたくありません。OS固有じゃない?os.eof() のようなものを呼び出したいです。何を書く?このスレッドは役に立ちません。

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

python - 各シートに複数の論理ページを含むPDFドキュメントを分割するにはどうすればよいですか?

2x2のPDFドキュメントを元のページに分割したいと思います。各ページは、この例のように配置された4つの論理ページで構成されています。

私は使用しようとしていpythonますpypdf

残念ながら、このスクリプトは4つおきの論理ページを4回出力するため、意図したとおりに機能しません。私はこれまでPythonで何も書いたことがないので、おそらくコピー操作が原因で、非常に基本的な問題だと思います。助けていただければ幸いです。


編集:まあ、私はいくつかの実験をしました。次のように、ページの幅と高さを手動で挿入しました。

このコードは私の元のコードと同じ間違った結果につながります、今行をコメントアウトすると(w, h) = p.mediaBox.upperRight、すべてが機能します!理由がわかりません。タプル(w, h)はもう使用されていません。その定義を削除すると、どのように何かが変わるのでしょうか。