JavaでPDFの透かしを削除
Contents
[
Hide
]
JavaでPDFの最初のページから透かしのアーティファクトを削除します。
透かしのアーティファクトを削除
この例では、最初のページから、タイプが Pagination でサブタイプが Watermark のアーティファクトだけを削除します。通常のページテキスト、画像、または注釈として保存されている透かしは、PDF に残ります。
- Document で元の PDF を開いてください。
- ページアーティファクトコレクションを逆順に反復処理してください。
- サブタイプがウォーターマークのページネーションアーティファクトを削除し、ドキュメントを保存してください。
public static void deleteWatermarkArtifact(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
for (int i = document.getPages().get_Item(1).getArtifacts().size(); i >= 1; i--) {
Artifact artifact = document.getPages().get_Item(1).getArtifacts().get_Item(i);
if (artifact.getType() == Artifact.ArtifactType.Pagination
&& artifact.getSubtype() == Artifact.ArtifactSubtype.Watermark) {
document.getPages().get_Item(1).getArtifacts().delete(artifact);
}
}
document.save(outputFile.toString());
}
}