破損したPDFを修復するための推奨事項や手順はありますか?ファイルを開くと、「このドキュメントを開くときにエラーが発生しました。ファイルが破損しているため、修復できません。」と表示されます。無数のツールがあるように思えますが、私が評判が良いと説明できるものはありません。これに対するオープンソースのLinuxベースのソリューションはありますか?
Ghostscriptは破損したPDFを自動的に修復します...最初に開くことができる場合(つまり、修復不可能なほど損傷していない場合)。しかし、その後は結果を再確認する必要があります。
Linuxでは、次のコマンドを試してください。
gs \
-o repaired.pdf \
-sDEVICE=pdfwrite \
-dPDFSETTINGS=/prepress \
corrupted.pdf
Windowsでは、これを試してください。
gswin32c.exe ^
-o repaired.pdf ^
-sDEVICE=pdfwrite ^
-dPDFSETTINGS=/prepress ^
corrupted.pdf
Ghostscriptで開くことができない破損したPDFファイルprint.pdf
がありましたが、通常のグラフィカルLinux PDFビューア(Okular、Evince)は正常に開きました。 (私の場合は、16進数エディタで開いたときに、ファイルの先頭にPDFヘッダーの代わりにゴミが入っていました。)
これらのPDFビューアはバックエンドのPDFレンダラとしてPopplerを使用します。そのため、Popplerのコマンドラインツールを使用してPDFを修復できます。 Ubuntuでは、これらはpoppler-utils
パッケージにあります。私は使った:
pdftocairo -pdf print.pdf print_repaired.pdf
これは正しいヘッダーを持つPDFファイルを生成し、Ghostscriptのようなツールは現在受け入れています。
mutool
( プロジェクトページ 、 マンページ )は壊れたPDFを修復しますそれらを印刷せずに。
Sudo apt-get install mupdf-tools
mutool clean input.pdf output.pdf
mutool clean [options] input.pdf [output.pdf] [pages] The clean command pretty prints and rewrites the syntax of a PDF file. It can be used to repair broken files, expand compressed streams, filter out a range of pages, etc. If no output file is specified, it will write the cleaned PDF to "out.pdf" in the current directory.
あるいは、PDFをレンダリングせずにそれらのコンポーネントに分解/逆コンパイルできるツールやフレームワークがいくつかあります。これらは、テキスト、スクリプト、および画像を抽出するのに役立ちます。そのようなツールのリストについては、この回答を参照してください。 https://reverseengineering.stackexchange.com/q/1526/8210 。例えば。あなたは現在のトップアンサーを試すことができます Origami 、それはGTKベースのビューアを持っています。
ダウンロードに使用したphpファイルが(HTMLで)いくつかのエラーと最後にNUL文字をエコーしていたので、私は破損したpdfファイルを持っていました。
解決策は、メモ帳+ +でPDFを開き、行の後にすべてのテキストを削除することでした
%%EOF