C++를 사용하여 PDF 파일의 주석 작업

주석은 PDF 문서에 추가할 수 있는 추가 개체입니다. 주석은 문서에 컨텍스트 정보를 추가하는 것과 같은 시나리오에서 유용할 수 있습니다. PDF 파일은 쉽게 편집할 수 없으므로 주석은 문서에 추가 정보를 추가할 수 있는 옵션을 제공합니다. 이 기사에서는 C++를 사용하여 PDF 파일의 주석으로 작업하는 방법을 배웁니다.

PDF 파일의 주석 작업을 위한 C++ API

Aspose.PDF for C++은 PDF 문서를 만들고 읽고 업데이트할 수 있는 C++ 라이브러리입니다. 또한 API는 PDF 파일의 주석 작업을 지원합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.

PM> Install-Package Aspose.PDF.Cpp

PDF 파일의 주석 읽기

다음은 PDF 파일의 주석을 읽는 단계입니다.

다음은 C++을 사용하여 PDF 파일의 주석을 읽는 샘플 코드입니다.

// PdfAnnotationEditor 클래스의 인스턴스 만들기
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();

// 샘플 PDF 파일 로드
annotationEditor->BindPdf(u"SourceDirectory\\Sample 1.pdf");

// 주석 유형의 배열 생성
System::ArrayPtr<Aspose::Pdf::Annotations::AnnotationType> annotationTypes = System::MakeArray<Aspose::Pdf::Annotations::AnnotationType>({ Aspose::Pdf::Annotations::AnnotationType::Text, Aspose::Pdf::Annotations::AnnotationType::Highlight });

// 주석 추출
System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Aspose::Pdf::Annotations::Annotation>>> annotationList = annotationEditor->ExtractAnnotations(1, 2, annotationTypes);

// 주석 반복
for (System::SharedPtr<Aspose::Pdf::Annotations::Annotation> annotation : annotationList)
{
	// 주석 콘텐츠 표시
	Console::WriteLine(annotation->get_Contents());
}

PDF 파일에 주석 추가

다음은 PDF 파일에 주석을 추가하는 단계입니다.

다음은 C++를 사용하여 PDF 파일에 주석을 추가하는 샘플 코드입니다.

// PdfContentEditor 클래스의 인스턴스 만들기
auto editor = MakeObject<Facades::PdfContentEditor>();

// 샘플 PDF 파일 로드
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");

// 주석 만들기
editor->CreateText(System::Drawing::Rectangle(400, 700, 100, 100), u"Title", u"Welcome to Aspose", true, u"Comment", 1);

// PDF 파일 저장
editor->Save(u"OutputDirectory\\AnnotationSample.pdf");

다음은 샘플 코드로 저장한 파일의 이미지입니다.

PDF 파일에 추가된 주석

주석을 보여주는 이미지

C++를 사용하여 PDF 파일의 주석 수정

다음은 PDF 파일의 주석을 수정하는 단계입니다.

다음은 C++를 사용하여 PDF 파일의 주석을 수정하는 샘플 코드입니다.

// 샘플 PDF 파일의 인스턴스 만들기
auto document = MakeObject <Aspose::Pdf::Document>(u"SourceDirectory\\AnnotationSample.pdf");

// PdfAnnotationEditor 클래스의 인스턴스 만들기
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();

// 샘플 PDF 문서 로드
annotationEditor->BindPdf(document);

// 주석 객체 생성
System::SharedPtr<Aspose::Pdf::Annotations::TextAnnotation> annotation = System::MakeObject<Aspose::Pdf::Annotations::TextAnnotation>(document->get_Pages()->idx_get(1), MakeObject<Aspose::Pdf::Rectangle>(200, 400, 400, 600));

// 수정 날짜 설정
annotation->set_Modified(System::DateTime::get_Now());

// 제목 설정
annotation->set_Title(u"NEW AUTHOR");

// 콘텐츠 설정
annotation->set_Contents(u"NEW CONTENTS");

// 주제 설정
annotation->set_Subject(u"NEW SUBJECT");

// 열린 플래그 설정
annotation->set_Open(true);

// 주석 수정
annotationEditor->ModifyAnnotations(1, 1, annotation);

// 문서 저장
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

PDF 파일에서 주석 제거

Aspose.PDF for C++는 PDF 파일에서 주석을 제거하기 위한 다음 옵션을 제공합니다.

특정 주석 제거

다음은 PDF 파일에서 특정 주석을 제거하는 단계입니다.

다음은 C++를 사용하여 PDF 파일에서 특정 주석을 제거하는 샘플 코드입니다.

// PdfAnnotationEditor 클래스의 인스턴스 만들기
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// 기존 PDF 문서 로드
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// 이름으로 주석 삭제
annotationEditor->DeleteAnnotation(u"4df2cf36-d961-4d83-a39e-4b0069f97e0b");
// 문서 저장
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

유형별 주석 제거

다음은 PDF 파일에서 유형별 주석을 제거하는 단계입니다.

다음은 C++를 사용하여 PDF 파일에서 유형별 주석을 제거하는 샘플 코드입니다.

// PdfAnnotationEditor 클래스의 인스턴스 만들기
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// 기존 PDF 문서 로드
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// 텍스트 주석 삭제
annotationEditor->DeleteAnnotations(u"Text");
// 문서 저장
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

모든 주석 제거

다음은 PDF 파일에서 모든 주석을 제거하는 단계입니다.

다음은 C++를 사용하여 PDF 파일에서 모든 주석을 제거하는 샘플 코드입니다.

// PdfAnnotationEditor 클래스의 인스턴스 만들기
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// 기존 PDF 문서 로드
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// 모든 주석 삭제
annotationEditor->DeleteAnnotations();
// 문서 저장
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

무료 라이선스 받기

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

결론

이 기사에서는 C++를 사용하여 PDF 파일의 주석으로 작업하는 방법을 배웠습니다. 특히 PDF 파일에서 주석을 읽고, 추가하고, 편집하고, 삭제하는 방법을 살펴보았습니다. 또한 Aspose.PDF for C++ API를 사용하여 특정 주석, 유형별 주석 또는 모든 주석을 삭제하는 방법을 배웠습니다. API는 PDF 파일 작업을 위한 다양한 추가 기능을 제공합니다. 공식문서를 통해 API를 자세히 살펴볼 수 있다. 질문이 있는 경우 무료 지원 포럼을 통해 언제든지 문의하십시오.

또한보십시오