14

私のグループは、itext-sharpライブラリとC#/。NETを使用して、カスタムの動的PDFを生成しています。ほとんどの場合、このプロセスは私たちのニーズにうまく機能しています。開発/テスト中に発生する可能性のある問題の1つは、レイアウトの問題であり、AdobeReaderなどでPDFが正しく開かない/レンダリングされない可能性があります。新しいバージョンのAcrobat/Reader。

ドキュメントは、最初のXページの表示を正しく開きます。ただし、エラーが発生した場合、ドキュメントの残りのページは表示されません。

前述のように、通常、この問題をC#/iTextコードのレイアウトタイプの問題まで追跡できます。最終的には、推測とチェックの方法を使用するか、分割統治法を使用してエラーを見つけます。それは機能しますが、これらの問題を解決するための最良の方法とは思えません。

PDFドキュメントの検証プロセスをスピードアップし、ドキュメントのエラーを指摘するのに役立つツールが利用できるかどうか疑問に思いました。

4

2 に答える 2

19

「最も安い」(そして同時に非常に信頼できる!)方法は、Ghostscriptを使用することです。GhostscriptにPDFを解釈させ、どの戻り値が得られるかを確認します。問題がなければ、PDFファイルは問題ないはずです。Windowsの場合:

 gswin32c.exe ^
       -o nul
       -sDEVICE=nullpage ^
        d:/path/to/file.pdf

出力デバイスはnullpage新しいファイルを作成しません。ただし、Ghostscriptは、エラーが発生した場合にstdout/stderrに通知します。%errorlevel%疑似環境変数の内容を確認してください。--Linuxの場合:

 gs \
       -o /dev/null \
       -sDEVICE=nullpage \
        /path/to/file.pdf

( 「問題なし」の値についてecho $?は、戻り値を確認してください。)0

エラーが発生した場合、Ghostscriptは役立つ情報を発行します。いずれにせよ、少なくとも問題のないファイルを明確に特定できます。Ghostscriptで処理できれば、Acrobat(Reader)でも問題なくレンダリングできます。

于 2010-09-06T23:42:57.863 に答える
13

PDFファイルの検証は、非常に難しい作業になる可能性があります。これは、主に、PDFファイルを適切に検証するために必要なツールが非常に高価であるためです。

Acrobatには、構文の問題についてPDFをスキャンできるツール([詳細設定]>[プリフライト]>[PDF分析]>[PDF構文の問題の報告])がありますが、そのツールにプログラムでアクセスすることはできません。

Appligentには、AdobeのPDFライブラリを利用したpdfHarmmonyというツールがあり、プログラムでアクセスできますが、非常に高価です(US $ 2500 +)。このオプションは、余裕があれば最良の結果をもたらします。

3つの高さのPDF分析と修復という別のオプションがあります。品質がどのようなものかはわかりませんが、同様に高価です。

このSourceForgeのPDFValidatorツールは興味深いかもしれませんが、コンテンツ自体ではなくドキュメント構造のみを分析するため、破損した画像やコンテンツストリームは検出されません。

残念ながら、PDFファイルを詳細に分析することは難しいため、それを適切に実行できる無料のツールは実際にはありませんが、ドキュメントの構造をチェックするツールは何もないよりはましだと思います。

于 2010-09-03T07:36:57.313 に答える