2

私はfpdfを使ってphpでpdfファイルを作成します。これまでのところすべてが機能していますが、モバイルデバイスでこれらのPDFを表示することは機能していません。

アンドロイドのアクロバットリーダーは、ファイルが破損しているというメッセージで閉じています。顧客によると、iPadでPDFファイルを開いても何も起こらないことを知っています...私はすでに空のPDFを作成しようとしましたが、同じ動作をしました。Acrobat Readerとfoxitを搭載したWindowsでは、すべてが正常に機能しています。

原因を見つける方法についていくつかのアイデアが必要です。

4

1 に答える 1

2

彼のコメントlinkで devOp によって利用可能になったファイルは、必須の %PDF 行の前にいくつかのゴミで始まるため、実際には破損した PDF です (PDF 仕様ISO 32000-1:2008を参照)。

524.41 102.05 48.19 -11.34 re S
%PDF-1.3
3 0 obj
<</Type /Page 
[...]
>>
startxref
556
%%EOF 

「524.41 102.05 48.19 -11.34 re S」という行が原因で、PDF ビューアはファイルを壊れているとして拒否する場合があります。ただし、一部のビューアーでは、%PDF マーカーをドキュメントの最初の行にする必要はありませんが、その前に限られた量のゴミを入れることができます。たとえば、Windows 上の Acrobat Reader では、最初の 1000 バイト程度にマーカーが必要です。

ところで、ごみ箱の行は実際には四角形を定義するための PDF 演算子のように見えます (これはストリーム オブジェクト内でのみ有効であり、ここのように単独では有効ではありません)。PDF オブジェクトが適切に開かれるか作成される前に、コード内に長方形を定義するコマンドがあるのではないでしょうか?

于 2012-11-16T16:29:00.247 に答える