Java를 사용하여 기존 PDF 파일의 이미지 바꾸기
Contents
[
Hide
]
이미지를 얼마나 정확하게 타겟팅해야 하는지에 따라 페이지 이미지 컬렉션 또는 배치 기반 검색을 사용하세요.
리소스 인덱스로 이미지 교체
- 원본 PDF
Document를 여세요. - 대상
Page의 이미지 리소스에 접근하세요. - 대상 이미지 리소스를 새 이미지 파일로 바꾸세요.
- 업데이트된 PDF
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());
}
}
ImagePlacementAbsorber를 사용하여 이미지 교체
- 원본 PDF
Document를 여세요. ImagePlacementAbsorber를 만들고 대상Page를 방문하세요.- 대상
ImagePlacement을 가져와 새 이미지 스트림으로 바꾸세요. - 업데이트된 PDF
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());
}
}