PDF 파일의 책갈피는 문서에서 관심 지점을 표시하는 데 유용합니다. 이를 통해 문서의 특정 지점으로 빠르게 이동할 수 있습니다. 프로그래밍 방식으로 PDF 파일에서 책갈피를 추가, 읽기, 수정 또는 삭제해야 하는 상황에 처할 수 있습니다. 이를 위해 이 기사에서는 C++를 사용하여 PDF 파일의 책갈피로 작업하는 방법을 설명합니다.

PDF 파일의 책갈피 작업을 위한 C++ API

Aspose.PDF for C++은 PDF 문서를 만들고 읽고 업데이트할 수 있는 C++ 라이브러리입니다. 또한 API는 PDF 파일에서 책갈피 추가, 읽기, 수정 및 제거를 지원합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.

PM> Install-Package Aspose.PDF.Cpp

C++를 사용하여 PDF 파일에 책갈피 추가

다음은 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를 사용하여 중첩된 책갈피를 추가할 수도 있습니다. 다음은 중첩된 책갈피를 추가하는 단계입니다.

다음 샘플 코드는 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 파일에서 책갈피를 읽는 단계입니다.

다음 샘플 코드는 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 파일에서 기존 책갈피의 제목을 수정하는 단계입니다.

다음 샘플 코드는 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) 메서드를 제공합니다. 다음은 특정 북마크를 삭제하는 단계입니다.

다음 샘플 코드는 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 파일의 모든 책갈피를 삭제하는 단계입니다.

다음은 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 파일 작업을 위한 많은 추가 기능을 제공합니다. 질문이 있으시면 무료 지원 포럼에 문의해 주십시오.

또한보십시오