문서의 워터마크는 기밀, 초안 등의 텍스트로 문서의 상태를 식별하고 원본 문서의 복사를 어렵게 만듭니다. 워터마크는 이미지 또는 텍스트 기반일 수 있으며 PDF 문서에서 자주 사용됩니다. C++ 응용 프로그램 내에서 PDF 문서에 워터마크를 추가해야 할 수도 있습니다. 이를 위해 이 기사에서는 C++를 사용하여 PDF 문서에서 텍스트 및 이미지 워터마크를 추가하고 제거하는 방법을 설명합니다.

텍스트/이미지 워터마크 삽입 및 삭제를 위한 C++ API

Aspose.PDF for C++는 PDF 문서를 만들고 읽고 업데이트할 수 있는 C++ 라이브러리입니다. 또한 API는 PDF 문서에서 이미지/텍스트 워터마크 삽입 및 삭제를 지원합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.

PM> Install-Package Aspose.PDF.Cpp

C++를 사용하여 PDF 파일에 텍스트 워터마크 삽입

Aspose.PDF for C++ API를 사용하면 텍스트 워터마크의 글꼴 스타일, 텍스트, 색상, 각도, 불투명도 등을 제어할 수 있습니다. 다음은 PDF 파일에 텍스트 워터마크를 추가하는 단계입니다.

다음 샘플 코드는 C++를 사용하여 PDF 파일에 텍스트 워터마크를 추가하는 방법을 보여줍니다.

// 원본 PDF 문서 열기
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// TextStamp 클래스의 인스턴스 만들기
System::SharedPtr<TextStamp> textStamp = MakeObject<TextStamp>(u"CONFIDENTIAL");

// 워터마크 위치 설정
textStamp->set_XIndent(70);
textStamp->set_YIndent(300);

// 텍스트 속성 설정
textStamp->get_TextState()->set_Font(FontRepository::FindFont(u"Arial"));
textStamp->get_TextState()->set_FontSize(72.0F);
textStamp->get_TextState()->set_ForegroundColor(Aspose::Pdf::Color::get_Red());
textStamp->set_Opacity(0.4);
textStamp->set_RotateAngle(45);
textStamp->setStampId(123456);

// PDF 페이지에 워터마크 추가
pdfDocument->get_Pages()->idx_get(1)->AddStamp(textStamp);

// PDF 파일 저장
pdfDocument->Save(u"OutputDirectory\\Text-Watermark-Out.pdf", SaveFormat::Pdf);
샘플 코드로 생성된 출력 PDF 파일의 이미지

샘플 코드로 생성된 출력 PDF 파일의 이미지

C++를 사용하여 PDF 파일에 이미지 워터마크 삽입

이미지 워터마크는 일반적으로 로고 또는 기타 식별 가능한 이미지를 사용하여 문서의 소유권을 표시하는 데 사용됩니다. 아래 단계에 따라 PDF 파일에 이미지 워터마크를 추가할 수 있습니다.

다음 샘플 코드는 C++를 사용하여 PDF 파일에 이미지 워터마크를 추가하는 방법을 보여줍니다.

// 원본 PDF 문서 열기
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// ImageStamp 클래스의 인스턴스 만들기
System::SharedPtr<ImageStamp> imageStamp = MakeObject<ImageStamp>(u"SourceDirectory\\aspose.png");

// 워터마크 위치 설정
imageStamp->set_XIndent(150);
imageStamp->set_YIndent(350);

// 다른 속성 설정
imageStamp->set_Height(100);
imageStamp->set_Width(300);
imageStamp->set_RotateAngle(45);
imageStamp->set_Opacity(0.4);
imageStamp->setStampId(12345678);

// PDF 페이지에 워터마크 추가
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);

// PDF 파일 저장
pdfDocument->Save(u"OutputDirectory\\Image-Watermark-Out.pdf", SaveFormat::Pdf);
샘플 코드로 생성된 출력 PDF 파일의 이미지

샘플 코드로 생성된 출력 PDF 파일의 이미지

C++를 사용하여 PDF 파일에서 텍스트 또는 이미지 워터마크 제거

PDF 문서에서 워터마크를 제거해야 하는 시나리오가 있을 수 있습니다. 이전 예에서는 텍스트 및 이미지 워터마크 모두에 대해 ID를 정의했습니다. 이 ID를 사용하여 PDF 문서에서 워터마크를 제거합니다. 다음은 PDF 파일에서 워터마크를 제거하는 단계입니다.

다음 샘플 코드는 C++를 사용하여 PDF 파일에서 텍스트 및 이미지 워터마크를 제거하는 방법을 보여줍니다.

// PdfContentEditor 클래스의 인스턴스 만들기
System::SharedPtr<PdfContentEditor> contentEditor = MakeObject<PdfContentEditor>();

// 워터마크가 포함된 PDF 파일 열기
contentEditor->BindPdf(u"SourceDirectory\\SampleImageWatermark.pdf");

// 아이디로 워터마크 삭제
contentEditor->DeleteStampById(12345678);

// PDF 파일 저장
pdfDocument->Save(u"OutputDirectory\\Remove-Watermark-Out.pdf", SaveFormat::Pdf);

무료 라이선스 받기

임시 무료 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.

결론

이 기사에서는 C++를 사용하여 PDF 파일의 워터마크로 작업하는 방법을 배웠습니다. 특히, Aspose.PDF for C++ API를 사용하여 PDF 문서에서 이미지 및 텍스트 워터마크를 추가하고 제거하는 방법을 배웠습니다. API는 PDF 관련 작업을 자동화하기 위한 많은 추가 기능을 제공합니다. API에 대한 자세한 내용은 공식 문서에서 확인할 수 있습니다. 질문이 있는 경우 무료 지원 포럼을 통해 언제든지 문의하십시오.

또한보십시오