1

注: これがここで優れているのか、スーパーユーザーで優れているのかはわかりませんが、これは poppler ライブラリに関係しているため、ここにいる人はそれがどのように機能するかを知っている可能性が高いため、ここで想定します。

ソフトウェア: Irex Iliad 用の iPDF 2.12 + Poppler 2.11 (最終コミット 2006-12-12)。ソースはここにあります。
問題のドキュメント: Sciam デジタル PDF (すべてが同じ方法で作成されるため、いずれか)。

ドキュメントは、Okular、Adobe Reader、および XPDF を使用して、パスワードを要求せずに問題なく読み込まれ、問題なく読むことができます。
iPDF を使用した読み込み - poppler - ドキュメントを開くためのパスワードを要求します。
Poppler/SecurityHandler.cc の SecurityHandler:checkEncryption メソッドをバイパスして、true を返すようにしました。これは機能しますが、pdf の読み込みに失敗し、エラーが発生します。

Error: Unsupported version/revision (4/4) of Standard security handler
Error (13571568): Unknown compression method in flate stream
Error: Top-level pages object is wrong type (null)
Error: Couldn't read page catalog
(PV_E)PDFCore.cpp:61,open() Open PDF document (èÖ@(èÖ@à failed with error code 2
(PV_E)PDFApp.cpp:185,open() Could not open file!

これは、実際のストリームが暗号化されていることを示唆しており、これが真である場合、okular が何らかの形でこれをバイパスしていることを示唆しています。

他のモバイル デバイスで同様の問題を抱えている人がいることを認識しています (Nexus One で同様のレポートを見つけました)。

ドキュメントを開く代わりに使用する必要がある「デフォルト」パスワードがあるかどうかを知るために、pdf形式がどのように機能するかについて十分に知りません(他の権限は必要ありません)。ある?ユーザーパスワード(空白?)を使用して開くだけでよいのに、所有者パスワードを要求しているのですか?

そうでなければ、Okular/XPDF のようなものが問題なく開く方法を知っている人はいますか?

4

1 に答える 1

0

これは、アプリケーションで使用されている poppler のバージョンが、必要なセキュリティ ハンドラに対して古すぎるという問題であることが判明しました。

そのため、Iliad を処理できる poppler の最新 (0.14.*) バージョンに基づいて、iliad 用の新しい pdf ビューアーを作成する独自のプロジェクトを開始しました。ソースはこちら

于 2010-08-26T21:22:50.563 に答える