PDF에서 워터마크 제거 C#

많은 경우 PDF 문서에는 중요한 내용을 가리거나 프레젠테이션을 손상시킬 수 있는 워터마크가 있습니다. 텍스트, 이미지 또는 하이퍼링크 기반 워터마크를 처리하든 쉽게 제거할 수 있습니다. 이 게시물에서는 PDF에서 일반 워터마크를 제거하고 C#에서 하이퍼링크 워터마크를 구체적으로 제거하는 두 가지 일반적인 시나리오를 안내합니다.

PDF에서 워터마크 제거 - C# API 설치

PDF 문서에서 워터마크를 제거하려면 환경에 Conholdate.Total for .NET API를 설치해야 합니다. DLL 파일을 다운로드하거나 아래의 NuGet 설치 명령을 사용하세요.

PM> NuGet\Install-Package Conholdate.Total

C#에서 PDF에서 워터마크 제거

PDF 문서에서 워터마크를 제거하려면 Watermarker 클래스를 사용합니다. 이 강력한 도구를 사용하면 문서에 있는 모든 워터마크를 검색하여 제거할 수 있습니다.

  • PDF 로드: 먼저 Watermarker 클래스를 사용하여 PDF 문서를 로드합니다.
  • 워터마크 검색: 검색 방법은 문서에 있는 잠재적인 워터마크를 식별합니다.
  • 워터마크 제거: 그런 다음 코드는 인덱스를 지정(RemoveAt(0))하거나 워터마크 객체를 직접 전달(Remove(possibleWatermarks[0]))하여 워터마크를 제거합니다.
  • 문서 저장: 마지막으로 문서는 워터마크 없이 저장됩니다.

아래는 C#을 사용하여 PDF에서 워터마크를 제거하는 방법을 보여주는 코드입니다.

using (Watermarker watermarker = new Watermarker("document.pdf"))
{
    PossibleWatermarkCollection possibleWatermarks = watermarker.Search();

    // 문서에서 지정된 인덱스에 있는 워터마크를 제거합니다.
    possibleWatermarks.RemoveAt(0);

    // 문서에서 지정된 워터마크를 제거합니다.
    possibleWatermarks.Remove(possibleWatermarks[0]);

    watermarker.Save("document.pdf");
}

이러한 접근 방식은 유연하며 텍스트나 이미지 기반 워터마크 등 다양한 유형의 워터마크를 빠르고 효율적으로 제거할 수 있습니다.

C#에서 PDF의 하이퍼링크 워터마크 제거

일부 PDF 문서에는 하이퍼링크 워터마크가 포함되어 있으며, 이 워터마크는 클릭 가능한 URL로 구성됩니다. 이는 하이퍼링크를 구체적으로 타겟팅하여 제거할 수 있습니다. 아래는 특정 URL 패턴을 기반으로 하이퍼링크 워터마크를 검색하여 제거하는 방법의 예입니다.

  • 하이퍼링크 검색: 이 코드는 먼저 정규 표현식과 함께 TextSearchCriteria를 사용하여 지정된 URL(예: “someurl.com”)과 일치하는 하이퍼링크를 찾습니다.
  • 하이퍼링크 필터링: 식별된 워터마크가 하이퍼링크(HyperlinkPossibleWatermark)인지 확인합니다.
  • 하이퍼링크 제거: 하이퍼링크인 경우 코드는 콘솔에 URL을 출력하고 문서에서 하이퍼링크를 제거합니다.
  • 문서 저장: 업데이트된 PDF 문서는 하이퍼링크 워터마크 없이 저장됩니다.
using (Watermarker watermarker = new Watermarker("document.pdf"))
{
    PossibleWatermarkCollection watermarks = watermarker.Search(new TextSearchCriteria(new Regex(@"someurl\.com")));
   for (int i = watermarks.Count - 1; i >= 0; i--)
    {
        // 하이퍼링크만 제거되도록 하세요.
        if (watermarks[i] is HyperlinkPossibleWatermark)
        {
            // 하이퍼링크의 전체 URL을 출력합니다.
            Console.WriteLine(watermarks[i].Text);

            // 문서에서 하이퍼링크 제거
            watermarks.RemoveAt(i);
        }
    }

    watermarker.Save("document.pdf");
}

이 방법은 URL을 워터마크로 포함하고 있는 문서를 정리하여 지정된 하이퍼링크 워터마크만 제거해야 하는 경우에 특히 유용합니다.

무료 평가 라이센스

다양한 기능을 아무런 제한 없이 평가해 볼 수 있는 무료 임시 라이선스를 받으실 수 있습니다.

마무리하기

일반 텍스트나 이미지 기반 워터마크 또는 보다 구체적인 하이퍼링크 워터마크를 처리하든, API는 강력하고 유연한 솔루션을 제공합니다. 원치 않는 워터마크를 빠르게 식별하고 제거하여 PDF가 깨끗하고 전문적이 되도록 할 수 있습니다. 프로세스가 간단하여 인덱스나 URL 패턴에 따라 제거할 워터마크 유형을 정확하게 제어할 수 있으므로 문서를 필요에 맞게 정확하게 조정할 수 있습니다. 모호한 점이 있는 경우 forum으로 문의하세요.

또한 참조