2012-04-27 8 views
0

PDF文書が実際にPDF文書であるかどうかを誰かが確実に判断でき、壊れていないかどうかはわかりません。PDFファイルが開封可能で壊れていないかどうかを確認する

システムでレポートを生成していますが、別のシステムから返されたデータに開かれたPDFドキュメントが含まれていることを確認したいと思います(データが破損していないことを確認してください)。

現時点では、私は基本的に文字列の長さを見ています(PDFは物理ファイルではなく変数に格納されます)。 これをPHPで行うための推奨事項は素晴らしいでしょう。

答えて

3

ファイルが完全に元のままのPDFファイルであることを確認せずにPDFファイルであることを確認したい場合は、ファイルの最初の5バイトを読み取ることができます。 "%PDF-"と完全に同じ

これは、LinuxのfileプログラムがPDFファイルを識別する方法です。

しかし、ファイルのどこにでもエラーがないことを確かめたい場合は、ファイル全体を処理するプログラムを実行し、そのプログラムが成功を返すかどうかを確認することができます。

Linuxでは、ghostscript( "gs")を使用してPDFドキュメントを任意の形式でレンダリングできます。

それとも、アクロバットリーダーをインストールし、ポストスクリプトに変換するためのコマンドラインプログラムとしてacroreadを実行することができます。

acroread -print -toPostScript [your_file.pdf] 

あなたはsystem PHP関数を使用する必要がありますこれらのいずれかを行うには。プログラムが正常に実行されたことを確認するには、戻り値を受け取るsystemに2番目のパラメータの変数を渡す必要があります。

+0

ありがとうございます。私はデータでそれを見ましたが、それは私の心を滑った! – Lock

関連する問題