PDF ドキュメントがあり、いくつかの画像フィールドを追加する必要がありました。PDF ファイルをアートワークとして Adobe LiveCycle にインポートしました。次に、2 つの画像を追加し、静的ファイルとして保存しました。Adobe Reader を使用してファイルを表示すると、画像が表示されます。しかし、このファイルを、LiveCycle を使用して作成された他の静的および動的 PDF ファイルとマージしようとすると、画像が見つかりません。
私は次のスレッドを見ました Images (imageField) are not shown after iText PDF Merging
しかし、私のコードに対してそこに示されている解決策を確認した後、私はすでに PdfWriter の代わりに PdfCopy を使用しています:
ByteArrayOutputStream output = new ByteArrayOutputStream();
PdfReader reader = new PdfReader(baosList.get(0).toByteArray());
Document document = new Document(reader.getPageSizeWithRotation(1));
reader.close();
PdfCopy writer = new PdfCopy(document, output);
document.open();
for (ByteArrayOutputStream baos : baosList)
{
// copy content
reader = new PdfReader(baos.toByteArray());
for (int idx = 1; idx <= reader.getNumberOfPages(); idx++)
writer.addPage(writer.getImportedPage(reader, idx));
reader.close();
baos.close();
}
画像を含む他の動的 PDF ファイルは問題ありません。元のファイルをアートワークとしてインポートしたことが問題なのだろうか。