Menonaktifkan Kompresi File saat Menambah sebagai Sumber Daya Tertanam
Kelas FileSpecification memungkinkan pengembang untuk menambahkan lampiran ke dokumen PDF. Secara default, lampiran dikompresi. Kami telah memperbarui API untuk memungkinkan pengembang menonaktifkan kompresi saat menambahkan file sebagai sumber daya tertanam. Ini memberikan pengembang lebih banyak kontrol atas bagaimana file diproses.
Untuk memungkinkan pengembang mengontrol kompresi file, metode setEncoding(..) telah ditambahkan ke kelas FileSpecification. Properti ini menentukan encoding mana yang akan digunakan untuk kompresi file. Metode ini menerima nilai dari enumerator FileEncoding. Nilai yang mungkin adalah FileEncoding.None dan FileEncoding.Zip.
Jika Encoding diatur ke FileEncoding.None, maka lampiran tidak dikompresi. Encoding default adalah FileEncoding.Zip.
Cuplikan kode berikut menunjukkan cara menambahkan lampiran ke dokumen PDF.
public static void DisableFilesCompressionWhenAddingAsEmbeddedResources() throws IOException{
// dapatkan referensi file sumber/masukan
java.nio.file.Path path = java.nio.file.Paths.get(_dataDir+"input.pdf");
// baca semua konten dari file sumber ke dalam ByteArray
byte[] data = java.nio.file.Files.readAllBytes(path);
// buat instance objek Stream dari konten ByteArray
InputStream is = new ByteArrayInputStream(data);
// Instansiasi objek Document dari instance stream
Document pdfDocument = new Document(is);
// siapkan file baru untuk ditambahkan sebagai lampiran
FileSpecification fileSpecification = new FileSpecification("test.txt", "Sample text file");
// Tentukan pengaturan properti Encoding menjadi FileEncoding.None
fileSpecification.setEncoding(FileEncoding.None);
// tambahkan lampiran ke koleksi lampiran dokumen
pdfDocument.getEmbeddedFiles().add(fileSpecification);
// simpan keluaran baru
pdfDocument.save("output.pdf");
}