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());
}
}