1

PDF 1.7 で LiveCycle Designer から作成した PDF があります。

サーバー側でそのPDFのいくつかのフィールドを時々読みたいです。サーバー側でPDFを保護するパスワードを持っています。

暗号化されていないPDFの場合、これにiTextを使用できます...

PdfReader reader = new PdfReader(request.getInputStream());
AcroFields af = reader.getAcroFields();
Map<String, AcroFields.Item> afFields = af.getFields();
for (String key : afFields.keySet()) {
    System.out.print(key + " = ");
    System.out.println(af.getField(key));
}

しかし、パスワードで保護された PDF に対して同じことを行うと、これはうまくいかないようです。フィールドが返されません。

そのパスワードを iText に送信して、フィールドを読み取ることができる方法はありますか?

LiveCycle ES3 SDK にもアクセスできます。多分彼らはそれを行うためのAPIを提供していますか?

4

1 に答える 1

0

誰かがそれを求めている場合の答えは、Java アプリから LiveCycle で作成された PDF からデータを読み取ろうとするときに、iText の使用を放棄することでした。私はオープンソース API の使用に慣れすぎていたため、それらが提供する LiveCycle Web サービスを利用することを忘れていました。

これらは、Web サービスをつなぎ合わせることができるワークベンチ製品を提供します。提供されている多くの Web サービスの 1 つは、パスワードで保護された PDF を復号化できる EncryptionService と、PDF 内のデータの XML 表現を取得できる別のサービスでした。

そのため、これら 2 つのサービスを呼び出すだけで完了です。

于 2013-06-05T02:50:29.657 に答える