이 문서는 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 문서를 살펴보십시오. 우리는 이 문서를 사용하고 문서에서 워터마크를 제거할 것입니다.

워터마크가 있는 PDF 파일 - GroupDocs

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, removeAtclear는 워터마크를 제거하는 데 사용할 수 있는 방법입니다. 자세한 내용은 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 문서의 스크린샷입니다.

GroupDocs의 Watermarking Java API를 사용하여 워터마크를 제거한 결과 PDF 파일

결론

Java 개발자는 Microsoft 및 OpenOffice에서 지원하는 워드 프로세서 문서, 스프레드시트, 프레젠테이션, PDF 문서 및 Visio 도면.

문서에서 API에 대해 자세히 알아볼 수 있습니다. 문의 사항이 있는 경우 @ 포럼에 문의하십시오.

또한보십시오