주석은 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 파일의 주석을 읽는 단계입니다.
- 먼저 PdfAnnotationEditor 클래스의 인스턴스를 만듭니다.
- PdfAnnotationEditor->BindPdf(시스템::SharedPtrAspose::Pdf::Document srcDoc) 메서드입니다.
- PdfAnnotationEditor->ExtractAnnotations(int32t start, int32t end, System::ArrayPtr)를 사용하여 주석을 검색합니다.Aspose::Pdf::Annotations::AnnotationType annotTypes) 메서드.
- 주석을 반복하고 해당 내용을 인쇄합니다.
다음은 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 파일에 주석을 추가하는 단계입니다.
- 먼저 PdfContentEditor 클래스의 인스턴스를 만듭니다.
- PdfContentEditor->BindPdf(시스템::SharedPtrAspose::Pdf::Document srcDoc) 메서드입니다.
- PdfContentEditor->CreateText (System::Drawing::Rectangle rect, System::String title, System::String contents, bool open, System::String icon, int32t page) 메서드를 사용하여 주석을 만듭니다.
- 마지막으로 PdfContentEditor->Save (System::String destFile) 메서드를 사용하여 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");
다음은 샘플 코드로 저장한 파일의 이미지입니다.
C++를 사용하여 PDF 파일의 주석 수정
다음은 PDF 파일의 주석을 수정하는 단계입니다.
- 먼저 PdfAnnotationEditor 클래스의 인스턴스를 만듭니다.
- PdfAnnotationEditor->BindPdf(시스템::SharedPtrAspose::Pdf::Document srcDoc) 메서드입니다.
- TextAnnotation 클래스의 인스턴스를 만듭니다.
- 주석의 내용을 설정합니다.
- PdfAnnotationEditor->ModifyAnnotations(int32t start, int32t end, System::SharedPtrAspose::Pdf::Annotations::Annotation 주석) 주석을 수정하는 메서드입니다.
- 마지막으로 PdfAnnotationEditor->Save (System::String destFile) 메서드를 사용하여 업데이트된 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 파일에서 특정 주석을 제거하는 단계입니다.
- 먼저 PdfAnnotationEditor 클래스의 인스턴스를 만듭니다.
- PdfAnnotationEditor->BindPdf(시스템::SharedPtrAspose::Pdf::Document srcDoc) 메서드입니다.
- PdfAnnotationEditor->DeleteAnnotation (System::String annotName) 메서드를 사용하여 이름별로 주석을 삭제합니다.
- 마지막으로 PdfAnnotationEditor->Save (System::String destFile) 메서드를 사용하여 업데이트된 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 파일에서 유형별 주석을 제거하는 단계입니다.
- 먼저 PdfAnnotationEditor 클래스의 인스턴스를 만듭니다.
- PdfAnnotationEditor->BindPdf(시스템::SharedPtrAspose::Pdf::Document srcDoc) 메서드입니다.
- PdfAnnotationEditor->DeleteAnnotations (System::String annotType) 메서드를 사용하여 유형별로 주석을 삭제합니다.
- 마지막으로 PdfAnnotationEditor->Save (System::String destFile) 메서드를 사용하여 업데이트된 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 파일에서 모든 주석을 제거하는 단계입니다.
- 먼저 PdfAnnotationEditor 클래스의 인스턴스를 만듭니다.
- PdfAnnotationEditor->BindPdf(시스템::SharedPtrAspose::Pdf::Document srcDoc) 메서드입니다.
- PdfAnnotationEditor->DeleteAnnotations() 메서드를 사용하여 모든 주석을 삭제합니다.
- 마지막으로 PdfAnnotationEditor->Save (System::String destFile) 메서드를 사용하여 업데이트된 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를 자세히 살펴볼 수 있다. 질문이 있는 경우 무료 지원 포럼을 통해 언제든지 문의하십시오.