Mengganti gambar dalam file PDF yang ada menggunakan Java
Contents
[
Hide
]
Gunakan koleksi gambar halaman atau pencarian berbasis penempatan tergantung pada seberapa tepat Anda perlu menargetkan gambar.
Mengganti gambar berdasarkan indeks sumber daya
- Buka PDF sumber
Document. - Akses sumber daya gambar pada
Pagetarget. - Ganti sumber daya gambar target dengan file gambar baru.
- Simpan PDF yang diperbarui
Document.
public static void replaceImage(Path inputFile, Path imageFile, Path outputFile) throws Exception {
try (Document document = new Document(inputFile.toString());
InputStream imageStream = Files.newInputStream(imageFile)) {
document.getPages().get_Item(1).getResources().getImages().replace(1, imageStream);
document.save(outputFile.toString());
}
}
Mengganti gambar menggunakan ImagePlacementAbsorber
- Buka PDF sumber
Document. - Buat sebuah
ImagePlacementAbsorberdan kunjungiPagetarget. - Dapatkan
ImagePlacementtarget dan ganti dengan aliran gambar baru. - Simpan PDF yang diperbarui
Document.
public static void replaceImageWithAbsorber(Path inputFile, Path imageFile, Path outputFile) throws Exception {
try (Document document = new Document(inputFile.toString())) {
ImagePlacementAbsorber absorber = new ImagePlacementAbsorber();
document.getPages().get_Item(1).accept(absorber);
if (absorber.getImagePlacements().size() > 0) {
ImagePlacement imagePlacement = absorber.getImagePlacements().get_Item(1);
try (InputStream imageStream = Files.newInputStream(imageFile)) {
imagePlacement.replace(imageStream);
}
}
document.save(outputFile.toString());
}
}