Zlibを用いたFlateDecode展開方法

解決


まつもと  2010-07-13 17:24:04  No: 38789

こんにちは。

現在PDFファイルの内容を取得するアプリを作成しています。

FlateDecodeで圧縮されたストリームデータをZlibを用いて展開しており
その処理自体はうまく動作しています。

この圧縮されたストリームデータの一部が他と異なっており
次のようなタグが含まれています。

/DecodeParms<</Columns 4/Predictor 12>>

いろいろ調べた結果、展開時に必要なキーみたいなもの(?)と理解しているのですが、
実際これが何をするものなのかわかりません。

Zlibの展開関数にはこのようなパラメータを指定するものがありませんし、
どこでどのように使用するものなのでしょうか?

どのような事でもかまいませんので、何か先に進むためのヒントを頂けないでしょうか。

よろしくお願いします。


どぞ  2010-07-13 18:07:51  No: 38790

PDFの仕様書です。

http://www.adobe.com/devnet/pdf/pdf_reference.html


まつもと  2010-07-13 18:41:57  No: 38791

情報ありがとうございます。

資料に関してですが、v1.3日本語訳版の書籍を購入し
v1.7英語版最新リファレンスも参照している状態です。

それぞれの値が意味するものについては把握できましたが、
実際にDelphi + Zlibでどうすればよいのか・・・

そこまで情報がありながらというお恥ずかしい状態です。


ぽぽん  2010-07-14 20:12:59  No: 38792

英語版のレファレンスは必須ですね
あと昔読んだことがあるのですが
仕様が変なところがあってそのまま読んでもわからない可能性があります
解読しにくいようにしてあって暗号化っぽいところがあって
そのへんでつまずくとおもいます。

PDFを書き出す方はとても簡単なのですが
読み込む方は少し難しいです。

Linuxあたりに
PDFを表示するソースコードが公開されている
フリーソフトがたくさんありますので
もしつまずいた場合は、
そのコードをひろって読んでみるといいかもしれません。
(C++のコードかもしれませんがないよりましだと思います)


まつもと  2010-07-15 08:44:10  No: 38793

Linux関係で探してみるとZlibを使用せず自力で展開する
C++のソースを見つけました。
考え方の参考にしてみようと思います。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加