이 문서는 PDF, Word, Excel, PowerPoint, 및 **Visio에서 텍스트 또는 이미지 워터마크를 찾아 제거하는 방법을 찾고 있는 Java 개발자에게 유용합니다. ** 문서. 게시물 중 하나에서 C# 문서에서 워터마크 찾기 및 제거를 배웠습니다. 이제 다양한 방법으로 다양한 문서에서 워터마크를 추가, 검색 및 제거할 수 있는 Java API에 대해 간략히 살펴보겠습니다.
워터마킹 및 제거를 위한 Java API
GroupDocs.Watermark for Java API는 광범위한 문서 형식에 텍스트 및 이미지 워터마크 추가를 지원합니다. 또한 문서에서 워터마크를 찾아 제거하는 기능도 있습니다. API는 타사 도구를 사용하여 추가한 워터마크 개체도 찾습니다. Java에서 몇 단계를 거쳐 문서에서 워터마크를 제거하는 방법을 보여드리겠습니다.
다운로드 섹션에서 JAR을 가져오거나 Maven 기반 Java 애플리케이션의 pom.xml에 다음 구성을 추가할 수 있습니다. API에 대한 자세한 내용은 API 참조를 참조하세요.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark</artifactId>
<version>20.5</version>
</dependency>
Java 문서에서 워터마크를 제거하는 단계
시작하기 전에 텍스트 워터마크와 이미지 워터마크가 포함된 다음 PDF 문서를 살펴보십시오. 우리는 이 문서를 사용하고 문서에서 워터마크를 제거할 것입니다.

1. 새 프로젝트를 만듭니다.
2. 다음 가져오기를 추가합니다.
import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.search.ImageDctHashSearchCriteria;
import com.groupdocs.watermark.search.ImageSearchCriteria;
import com.groupdocs.watermark.search.PossibleWatermarkCollection;
import com.groupdocs.watermark.search.SearchCriteria;
import com.groupdocs.watermark.search.TextSearchCriteria;
3. Watermarker 클래스의 인스턴스를 만들고 소스 문서를 로드합니다.
Watermarker watermarker = new Watermarker("filepath/watermarked.pdf");
4. search 방법을 사용하여 구성된 검색 기준에 따라 워터마크를 찾습니다.
// 이미지 워터마크에 대한 검색 기준 구성
ImageSearchCriteria imageSearchCriteria = new ImageDctHashSearchCriteria("filepath/watermark.png");
imageSearchCriteria.setMaxDifference(0.2); // Set how much the watermark can differ from the provided image.
// 텍스트 워터마크에 대한 검색 기준 구성
TextSearchCriteria textSearchCriteria = new TextSearchCriteria("CONFIDENTIAL");
// 텍스트 및 이미지 검색 기준 결합
SearchCriteria combinedSearchCriteria = imageSearchCriteria.or(textSearchCriteria);
PossibleWatermarkCollection possibleWatermarks = watermarker.search(combinedSearchCriteria);
5. 워터마크 컬렉션을 반복하고 removeAt 메서드를 사용하여 워터마크를 제거합니다.
//가능한 워터마크 수집을 반복하고 워터마크를 확인하고 제거합니다.
while(possibleWatermarks.getCount()>0)
{
if (possibleWatermarks.get_Item(0).getImageData() != null)
{
possibleWatermarks.removeAt(0);
System.out.println("Removed Image Watermark.");
}
else
{
possibleWatermarks.removeAt(0);
System.out.println("Removed Text Watermark.");
}
}
6. 저장 방법을 사용하여 결과 문서를 저장합니다.
watermarker.save("filepath/without_watermark.pdf");
watermarker.close();
다른 방법을 사용하여 문서에서 워터마크를 찾고 제거하는 다른 방법도 있습니다. 문서의 모든 워터마크를 제거하거나 다양한 종류의 선택적 워터마크를 제거하려면:
- 가능한 모든 워터마크를 수집할 수 있습니다.
- 워터마크 컬렉션을 반복하거나 인덱스가 있는 워터마크에 직접 액세스합니다.
- 필요한 경우 워터마크 유형 및 데이터를 확인합니다.
- 귀하의 요구 사항에 맞는 경우 제거하십시오.
remove, removeAt 및 clear는 워터마크를 제거하는 데 사용할 수 있는 방법입니다. 자세한 내용은 Java에서 워터마크 검색 및 수정에 대한 문서 문서를 참조하세요.
완전한 코드
// Java의 PDF, Word, Excel, PowerPoint 및 Visio 문서에서 워터마크 찾기 및 제거
Watermarker watermarker = new Watermarker("filepath/watermarked.pdf"); // Provide any supported document
// 이미지 워터마크에 대한 검색 기준 구성
ImageSearchCriteria imageSearchCriteria = new ImageDctHashSearchCriteria("filepath/watermark.png");
imageSearchCriteria.setMaxDifference(0.2); // Set how much the watermark can differ from the provided image.
// 텍스트 워터마크에 대한 검색 기준 구성
TextSearchCriteria textSearchCriteria = new TextSearchCriteria("CONFIDENTIAL");
// 텍스트 및 이미지 검색 기준 결합
SearchCriteria combinedSearchCriteria = imageSearchCriteria.or(textSearchCriteria);
PossibleWatermarkCollection possibleWatermarks = watermarker.search(combinedSearchCriteria);
//가능한 워터마크 수집을 반복하고 워터마크를 확인하고 제거합니다.
while(possibleWatermarks.getCount()>0)
{
if (possibleWatermarks.get_Item(0).getImageData() != null)
{
possibleWatermarks.removeAt(0);
System.out.println("Removed Image Watermark.");
}
else
{
possibleWatermarks.removeAt(0);
System.out.println("Removed Text Watermark.");
}
}
watermarker.save("filepath/without_watermark.pdf");
watermarker.close();
결과
다음은 워터마크를 제거한 후 얻은 결과 PDF 문서의 스크린샷입니다.

결론
Java 개발자는 Microsoft 및 OpenOffice에서 지원하는 워드 프로세서 문서, 스프레드시트, 프레젠테이션, PDF 문서 및 Visio 도면.
문서에서 API에 대해 자세히 알아볼 수 있습니다. 문의 사항이 있는 경우 @ 포럼에 문의하십시오.