埋め込みリソースとして追加する際のファイル圧縮を無効化する
Contents
[
Hide
]
FileSpecification クラスは、開発者がPDFドキュメントに添付ファイルを追加することを可能にします。デフォルトでは、添付ファイルは圧縮されます。埋め込みリソースとしてファイルを追加する際に圧縮を無効にするためにAPIを更新しました。これにより、開発者はファイルの処理方法をより細かく制御できます。
開発者がファイル圧縮を制御できるようにするために、FileSpecification クラスに setEncoding(..) メソッドが追加されました。 このプロパティは、ファイル圧縮に使用されるエンコーディングを決定します。メソッドは、FileEncoding列挙型からの値を受け入れます。可能な値は、FileEncoding.NoneおよびFileEncoding.Zipです。
エンコーディングがFileEncoding.Noneに設定されている場合、添付ファイルは圧縮されません。デフォルトのエンコーディングはFileEncoding.Zipです。
次のコードスニペットは、PDFドキュメントに添付ファイルを追加する方法を示しています。
public static void DisableFilesCompressionWhenAddingAsEmbeddedResources() throws IOException{
// ソース/入力ファイルの参照を取得
java.nio.file.Path path = java.nio.file.Paths.get(_dataDir+"input.pdf");
// ソースファイルからすべての内容をByteArrayに読み込む
byte[] data = java.nio.file.Files.readAllBytes(path);
// ByteArrayの内容からStreamオブジェクトのインスタンスを作成
InputStream is = new ByteArrayInputStream(data);
// ストリームインスタンスからDocumentオブジェクトをインスタンス化
Document pdfDocument = new Document(is);
// 添付ファイルとして追加する新しいファイルを設定
FileSpecification fileSpecification = new FileSpecification("test.txt", "サンプルテキストファイル");
// エンコーディングプロパティをFileEncoding.Noneに設定
fileSpecification.setEncoding(FileEncoding.None);
// ドキュメントの添付ファイルコレクションに添付ファイルを追加
pdfDocument.getEmbeddedFiles().add(fileSpecification);
// 新しい出力を保存
pdfDocument.save("output.pdf");
}