11

次のコードを使用すると

from PyPDF2 import PdfFileMerger

merge = PdfFileMerger()

    for newFile in nlst:
        merge.append(newFile)
    merge.write('newFile.pdf')

次のようなことが起こりました。

raise utils.PdfReadError("EOF marker not found")

PyPDF2.utils.PdfReadError: EOF marker not found

何が起こったのか誰か教えてくれませんか?ありがとう

4

4 に答える 4

6

PDF はファイル形式であり、通常、pdf パーサーはファイルの末尾にあるグローバル情報を読み取ることによってファイルの読み取りを開始します。ドキュメントの最後に、次の内容の行が必要です。

%%EOF

これは、pdf パーサーが知っているマーカーであり、PDF ドキュメントがここで終了し、必要なグローバル情報がこの前にある必要があります (startxref セクション)。

表示されるエラー メッセージは、入力ドキュメントの 1 つが切り捨てられ、この %%EOF マーカーが欠落していることを意味していると思います。

于 2017-07-31T11:53:41.583 に答える
2

この問題に対する 1 つの簡単な解決策 (EOF マーカーが見つからない)。.pdfファイルを他のアプリケーションで開きます(Ubuntu 18.04 で Libre office draw を使用しました)。次に、ファイルを.pdfとしてエクスポートします。このエクスポートされた.pdfファイルを使用すると、問題は解決しません。

于 2020-03-27T02:07:26.217 に答える