Java에서 PDF 워터마크 제거

Java에서 PDF 첫 페이지의 워터마크 아티팩트를 제거합니다.

워터마크 아티팩트 삭제

이 예제는 첫 페이지에서 유형이 Pagination이고 하위 유형이 Watermark인 아티팩트만 제거합니다. 일반 페이지 텍스트, 이미지 또는 주석으로 저장된 워터마크는 PDF에 남습니다.

  1. Document로 원본 PDF를 여세요.
  2. 페이지 아티팩트 컬렉션을 역순으로 반복하세요.
  3. 하위 유형이 워터마크인 페이지 매김 아티팩트를 삭제한 다음 문서를 저장하세요.
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());
    }
}

관련 항목