2017-10-10 10 views
1

PNG予測子でFlateDecodeを使用してエンコードされたストリームには、他のすべての行と同じ列幅を持たない最後の予測子行がありますか?私。データが欠落していますか?予測子付きのFlateDecodeを使用してコード化されたPDFストリーム

たとえば、Flateアルゴリズムを使用して既にデコードされたストリームを想像してみましょう。その結果、105バイトになります。パラメータは<</Predictor 15 /Columns 10>>です。

予測子は、10バイトの各行を含む10個の完全な行と5個の列のみを持つ1行をデコードすることができます。つまり、5列分のデータが欠落しています。最後の行を5列の行としてデコードするか、最後の5バイトを破棄するか、ストリーム全体が無効かどうかを確認します。

PDF仕様で何も見つかりませんでしたが、そのようなストリームを持つ野生の2つのPDFファイルに出くわしました。

答えて

0

無効なストリームを処理する方法を決定するのはあなた次第ですが、PDF仕様では無効なデータは処理されません。例えば

私たちは、私はそれが何をすべきかを決定するために実装次第であることを知ってデコードすることができ、残りは0

+0

で埋められているすべてのデータを取ります。しかし、Adobe Acrobatのプリフライトチェッカーはすべてが大丈夫だと言っているので、これは*無効な* PDFストリームなのかどうかは明らかではありません...多くのCLIツールでエラーが発生しますが、テストされたすべてのPDFビューアはうまく動作し、正しいもの*。 – gettalong

関連する問題