PDF 파일의 책갈피는 문서에서 관심 지점을 표시하는 데 유용합니다. 이를 통해 문서의 특정 지점으로 빠르게 이동할 수 있습니다. 프로그래밍 방식으로 PDF 파일에서 책갈피를 추가, 읽기, 수정 또는 삭제해야 하는 상황에 처할 수 있습니다. 이를 위해 이 기사에서는 C++를 사용하여 PDF 파일의 책갈피로 작업하는 방법을 설명합니다.
- PDF 파일의 책갈피 작업을 위한 C++ API
- C++를 사용하여 PDF 파일에 책갈피 추가
- PDF 파일에 중첩된 책갈피 추가
- C++를 사용하여 PDF 파일에서 책갈피 읽기
- C++를 사용하여 책갈피 제목 수정
- C++를 사용하여 특정 책갈피 삭제
- C++를 사용하여 PDF 파일의 모든 책갈피 삭제
- 무료 라이선스 받기
PDF 파일의 책갈피 작업을 위한 C++ API
Aspose.PDF for C++은 PDF 문서를 만들고 읽고 업데이트할 수 있는 C++ 라이브러리입니다. 또한 API는 PDF 파일에서 책갈피 추가, 읽기, 수정 및 제거를 지원합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.
PM> Install-Package Aspose.PDF.Cpp
C++를 사용하여 PDF 파일에 책갈피 추가
다음은 PDF 파일에 책갈피를 추가하는 단계입니다.
- 먼저 PdfBookmarkEditor 클래스의 인스턴스를 만듭니다.
- PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) 메서드입니다.
- PdfBookmarkEditor->CreateBookmarkOfPage(System::String bookmarkName, int32t pageNumber) 메서드를 사용하여 책갈피를 만듭니다.
- PdfBookmarkEditor->Save(System::String destFile) 메서드를 사용하여 PDF 문서를 저장합니다.
다음 샘플 코드는 C++를 사용하여 PDF 파일에 책갈피를 추가하는 방법을 보여줍니다.
// PdfBookmarkEditor 클래스의 인스턴스 만들기
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// PDF 문서 로드
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// 책갈피 만들기
editor->CreateBookmarkOfPage(u"Bookmark for page 1", 1);
// PDF 문서 저장
editor->Save(u"OutputDirectory\\AddBookmark_out.pdf");
PDF 파일에 중첩된 책갈피 추가
Aspose.PDF for C++ API를 사용하여 중첩된 책갈피를 추가할 수도 있습니다. 다음은 중첩된 책갈피를 추가하는 단계입니다.
- PdfBookmarkEditor 클래스의 인스턴스를 만듭니다.
- PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) 메서드입니다.
- Bookmark 클래스를 사용하여 책갈피를 만듭니다.
- Bookmarks 클래스의 인스턴스에 자식 책갈피를 추가하고 bookmark->setChildItems(System::SharedPtr)를 사용하여 부모 책갈피의 자식으로 설정합니다. 값) 메서드입니다.
- PdfBookmarkEditor->CreateBookmarks(System::SharedPtr)를 사용하여 PDF 문서에 책갈피를 추가합니다. 책갈피) 메서드입니다.
- 마지막으로 PdfBookmarkEditor->Save(System::String destFile) 메서드를 사용하여 PDF 문서를 저장합니다.
다음 샘플 코드는 C++를 사용하여 PDF 파일에 중첩된 책갈피를 추가하는 방법을 보여줍니다.
// PdfBookmarkEditor 클래스의 인스턴스 만들기
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// PDF 문서 로드
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// 첫 번째 자식 책갈피 만들기
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm1 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm1->set_PageNumber(1);
bm1->set_Title(u"First child");
// 두 번째 자식 책갈피 만들기
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm2 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm2->set_PageNumber(2);
bm2->set_Title(u"Second child");
// 상위 책갈피 만들기
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm->set_Action(u"GoTo");
bm->set_PageNumber(1);
bm->set_Title(u"Parent");
// 하위 책갈피 설정
System::SharedPtr<Aspose::Pdf::Facades::Bookmarks> bms = System::MakeObject<Aspose::Pdf::Facades::Bookmarks>();
bms->Add(bm1);
bms->Add(bm2);
bm->set_ChildItem(bms);
// PDF 파일에 책갈피 추가
editor->CreateBookmarks(bm);
// PDF 문서 저장
editor->Save(u"OutputDirectory\\AddChildBookmark_out.pdf");
C++를 사용하여 PDF 파일에서 책갈피 읽기
책갈피를 읽으려면 PdfBookmarkEditor->ExtractBookmarks() 메서드를 사용하십시오. 다음은 PDF 파일에서 책갈피를 읽는 단계입니다.
- PdfBookmarkEditor 클래스의 인스턴스를 만듭니다.
- PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) 메서드입니다.
- PdfBookmarkEditor->ExtractBookmarks() 메서드를 사용하여 모든 책갈피를 검색합니다.
- 개별 책갈피를 검색하려면 책갈피를 반복합니다.
- 책갈피의 속성을 읽습니다.
다음 샘플 코드는 C++를 사용하여 PDF 파일에서 책갈피를 읽는 방법을 보여줍니다.
// PdfBookmarkEditor 클래스의 인스턴스 만들기
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// PDF 문서 로드
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// 모든 책갈피 검색
System::SharedPtr <Bookmarks> bms = editor->ExtractBookmarks();
// 책갈피 반복
for (System::SharedPtr<Bookmark> bm : bms) {
// 책갈피 제목 표시
Console::WriteLine(bm->get_Title());
// 책갈피의 대상 표시
Console::WriteLine(bm->get_Destination());
}
C++를 사용하여 책갈피 제목 수정
다음은 PDF 파일에서 기존 책갈피의 제목을 수정하는 단계입니다.
- PdfBookmarkEditor 클래스의 인스턴스를 만듭니다.
- PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) 메서드입니다.
- PdfBookmarkEditor->ModifyBookmarks(System::String sTitle, System::String dTitle) 메서드를 사용하여 책갈피 제목을 수정합니다.
- PdfBookmarkEditor->Save(System::String destFile) 메서드를 사용하여 PDF 문서를 저장합니다.
다음 샘플 코드는 PDF 파일에서 기존 책갈피의 제목을 수정하는 방법을 보여줍니다.
// PdfBookmarkEditor 클래스의 인스턴스 만들기
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// PDF 문서 로드
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// 북마크 제목 수정
editor->ModifyBookmarks(u"bookmark for page 1", u"Page 1 Bookmark");
// PDF 문서 저장
editor->Save(u"OutputDirectory\\ModifyBookmark_out.pdf");
C++를 사용하여 특정 책갈피 삭제
API는 PDF 파일에서 특정 책갈피를 삭제하는 PdfBookmarkEditor->DeleteBookmarks(System::String title) 메서드를 제공합니다. 다음은 특정 북마크를 삭제하는 단계입니다.
- PdfBookmarkEditor 클래스의 인스턴스를 만듭니다.
- PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) 메서드입니다.
- PdfBookmarkEditor->DeleteBookmarks(System::String title) 메서드를 사용하여 원하는 책갈피를 삭제합니다.
- PdfBookmarkEditor->Save(System::String destFile) 메서드를 사용하여 PDF 문서를 저장합니다.
다음 샘플 코드는 C++를 사용하여 특정 책갈피를 삭제하는 방법을 보여줍니다.
// PdfBookmarkEditor 클래스의 인스턴스 만들기
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// PDF 문서 로드
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// 특정 책갈피 삭제
editor->DeleteBookmarks(u"bookmark for page 1");
// PDF 문서 저장
editor->Save(u"OutputDirectory\\DeleteParticularBookmark_out.pdf");
C++를 사용하여 PDF 파일의 모든 책갈피 삭제
북마크를 한 번에 하나씩 삭제하는 대신 PdfBookmarkEditor->DeleteBookmarks() 메서드를 사용하여 모든 북마크를 한 번에 삭제할 수 있습니다. 다음은 PDF 파일의 모든 책갈피를 삭제하는 단계입니다.
- PdfBookmarkEditor 클래스의 인스턴스를 만듭니다.
- PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) 메서드입니다.
- PdfBookmarkEditor->DeleteBookmarks() 메서드를 사용하여 모든 책갈피를 삭제합니다.
- PdfBookmarkEditor->Save(System::String destFile) 메서드를 사용하여 PDF 문서를 저장합니다.
다음은 PDF 파일의 모든 책갈피를 삭제하는 샘플 코드입니다.
// PdfBookmarkEditor 클래스의 인스턴스 만들기
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// PDF 문서 로드
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// 모든 책갈피 삭제
editor->DeleteBookmarks();
// PDF 문서 저장
editor->Save(u"OutputDirectory\\DeleteAllBookmarks_out.pdf");
무료 라이선스 받기
임시 무료 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.
결론
이 기사에서는 C++를 사용하여 PDF 파일의 책갈피로 작업하는 방법을 배웠습니다. 특히 PDF 파일에서 책갈피를 추가, 읽기, 수정 및 삭제하는 방법을 배웠습니다. 또한 Aspose.PDF for C++ API를 사용하여 중첩된 책갈피를 추가하는 방법을 살펴보았습니다. API는 공식 문서를 사용하여 자세히 탐색할 수 있는 PDF 파일 작업을 위한 많은 추가 기능을 제공합니다. 질문이 있으시면 무료 지원 포럼에 문의해 주십시오.