문서의 워터마크는 기밀, 초안 등의 텍스트로 문서의 상태를 식별하고 원본 문서의 복사를 어렵게 만듭니다. 워터마크는 이미지 또는 텍스트 기반일 수 있으며 PDF 문서에서 자주 사용됩니다. C++ 응용 프로그램 내에서 PDF 문서에 워터마크를 추가해야 할 수도 있습니다. 이를 위해 이 기사에서는 C++를 사용하여 PDF 문서에서 텍스트 및 이미지 워터마크를 추가하고 제거하는 방법을 설명합니다.
- 텍스트/이미지 워터마크 삽입 및 삭제를 위한 C++ API
- C++를 사용하여 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 파일에 텍스트 워터마크를 추가하는 단계입니다.
- Document 클래스를 사용하여 PDF 파일을 로드합니다.
- 워터마크 텍스트로 TextStamp 클래스의 인스턴스를 만듭니다.
- 워터마크의 위치 및 기타 속성을 설정합니다.
- Document->getPages()->idxget(1)->AddStamp(System::SharedPtr)를 사용하여 페이지에 워터마크를 추가합니다. 스탬프) 메서드.
- Document->Save(System::String outputFileName, SaveFormat format) 메서드를 사용하여 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);
C++를 사용하여 PDF 파일에 이미지 워터마크 삽입
이미지 워터마크는 일반적으로 로고 또는 기타 식별 가능한 이미지를 사용하여 문서의 소유권을 표시하는 데 사용됩니다. 아래 단계에 따라 PDF 파일에 이미지 워터마크를 추가할 수 있습니다.
- Document 클래스를 사용하여 PDF 파일을 로드합니다.
- 워터마크 이미지로 ImageStamp 클래스의 인스턴스를 만듭니다.
- 워터마크의 위치 및 기타 속성을 설정합니다.
- Document->getPages()->idxget(1)->AddStamp(System::SharedPtr)를 사용하여 페이지에 워터마크를 추가합니다. 스탬프) 메서드.
- Document->Save(System::String outputFileName, SaveFormat format) 메서드를 사용하여 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);
C++를 사용하여 PDF 파일에서 텍스트 또는 이미지 워터마크 제거
PDF 문서에서 워터마크를 제거해야 하는 시나리오가 있을 수 있습니다. 이전 예에서는 텍스트 및 이미지 워터마크 모두에 대해 ID를 정의했습니다. 이 ID를 사용하여 PDF 문서에서 워터마크를 제거합니다. 다음은 PDF 파일에서 워터마크를 제거하는 단계입니다.
- PdfContentEditor 클래스의 인스턴스를 만듭니다.
- PdfContentEditor->BindPdf(System::String inputFile) 메서드를 사용하여 PDF 문서를 로드합니다.
- PdfContentEditor->DeleteStampById(int32t stampId) 메서드를 사용하여 워터마크를 삭제합니다.
- Document->Save(System::String outputFileName, SaveFormat format) 메서드를 사용하여 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에 대한 자세한 내용은 공식 문서에서 확인할 수 있습니다. 질문이 있는 경우 무료 지원 포럼을 통해 언제든지 문의하십시오.