Záložky v souboru PDF jsou užitečné pro označení bodů zájmu v dokumentu. Ty umožňují rychle přejít na konkrétní místo v dokumentu. Můžete se ocitnout v situacích, kdy potřebujete přidat, přečíst, upravit nebo odstranit záložky v souboru PDF programově. Tento článek vás proto naučí, jak pracovat se záložkami v souborech PDF pomocí C++.
- C++ API pro práci se záložkami v souborech PDF
- Přidejte záložky do souborů PDF pomocí C++
- Přidejte vnořené záložky do souborů PDF
- Čtení záložek ze souboru PDF pomocí C++
- Upravte název záložky pomocí C++
- Odstraňte konkrétní záložku pomocí C++
- Odstraňte všechny záložky v souboru PDF pomocí C++
- Získejte bezplatnou licenci
C++ API pro práci se záložkami v souborech PDF
Aspose.PDF for C++ je knihovna C++, která vám umožňuje vytvářet, číst a aktualizovat dokumenty PDF. Kromě toho API podporuje přidávání, čtení, úpravy a odstraňování záložek ze souborů PDF. API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce ke stažení.
PM> Install-Package Aspose.PDF.Cpp
Přidejte záložky do souborů PDF pomocí C++
Níže jsou uvedeny kroky pro přidání záložky do souboru PDF.
- Nejprve vytvořte instanci třídy PdfBookmarkEditor.
- Načtěte dokument PDF pomocí PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) metoda.
- Vytvořte záložku pomocí metody PdfBookmarkEditor->CreateBookmarkOfPage(System::String bookmarkName, int32t pageNumber).
- Uložte dokument PDF pomocí metody PdfBookmarkEditor->Save(System::String destFile).
Následující ukázkový kód ukazuje, jak přidat záložku do souboru PDF pomocí C++.
// Vytvořte instanci třídy PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Načtěte dokument PDF
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Vytvořte záložku
editor->CreateBookmarkOfPage(u"Bookmark for page 1", 1);
// Uložte dokument PDF
editor->Save(u"OutputDirectory\\AddBookmark_out.pdf");

Výstup generovaný ukázkovým kódem
Přidejte vnořené záložky do souborů PDF
Můžete také přidat vnořené záložky pomocí Aspose.PDF for C++ API. Následují kroky pro přidání vnořených záložek.
- Vytvořte instanci třídy PdfBookmarkEditor.
- Načtěte dokument PDF pomocí PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) metoda.
- Vytvářejte záložky pomocí třídy Bookmark.
- Přidejte podřízené záložky do instance třídy Bookmarks a nastavte ji jako potomka nadřazené záložky pomocí bookmark->setChildItems(System::SharedPtr hodnota) metoda.
- Přidejte záložky do dokumentu PDF pomocí PdfBookmarkEditor->CreateBookmarks(System::SharedPtr záložka) metoda.
- Nakonec uložte dokument PDF pomocí metody PdfBookmarkEditor->Save(System::String destFile).
Následující ukázkový kód ukazuje, jak přidat vnořené záložky do souboru PDF pomocí C++.
// Vytvořte instanci třídy PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Načtěte dokument PDF
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Vytvořte 1. dětskou záložku
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm1 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm1->set_PageNumber(1);
bm1->set_Title(u"First child");
// Vytvořit 2. dětskou záložku
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm2 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm2->set_PageNumber(2);
bm2->set_Title(u"Second child");
// Vytvořit nadřazenou záložku
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");
// Nastavte dětské záložky
System::SharedPtr<Aspose::Pdf::Facades::Bookmarks> bms = System::MakeObject<Aspose::Pdf::Facades::Bookmarks>();
bms->Add(bm1);
bms->Add(bm2);
bm->set_ChildItem(bms);
// Přidejte záložky do souboru PDF
editor->CreateBookmarks(bm);
// Uložte dokument PDF
editor->Save(u"OutputDirectory\\AddChildBookmark_out.pdf");

Výstup generovaný ukázkovým kódem
Čtení záložek ze souboru PDF pomocí C++
Chcete-li číst záložky, použijte metodu PdfBookmarkEditor->ExtractBookmarks(). Následují kroky ke čtení záložek ze souboru PDF.
- Vytvořte instanci třídy PdfBookmarkEditor.
- Načtěte dokument PDF pomocí PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) metoda.
- Načtěte všechny záložky pomocí metody PdfBookmarkEditor->ExtractBookmarks().
- Procházejte záložky a načtěte jednotlivé záložky.
- Přečtěte si vlastnosti záložek.
Následující ukázkový kód ukazuje, jak číst záložky ze souboru PDF pomocí C++.
// Vytvořte instanci třídy PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Načtěte dokument PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Načíst všechny záložky
System::SharedPtr <Bookmarks> bms = editor->ExtractBookmarks();
// Procházejte záložky
for (System::SharedPtr<Bookmark> bm : bms) {
// Zobrazte název záložky
Console::WriteLine(bm->get_Title());
// Zobrazte cíl záložky
Console::WriteLine(bm->get_Destination());
}
Upravte název záložky pomocí C++
Následují kroky k úpravě názvu existující záložky v souboru PDF.
- Vytvořte instanci třídy PdfBookmarkEditor.
- Načtěte dokument PDF pomocí PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) metoda.
- Upravte název záložky pomocí metody PdfBookmarkEditor->ModifyBookmarks(System::String sTitle, System::String dTitle).
- Uložte dokument PDF pomocí metody PdfBookmarkEditor->Save(System::String destFile).
Následující ukázkový kód ukazuje, jak upravit název existující záložky v souboru PDF.
// Vytvořte instanci třídy PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Načtěte dokument PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Upravit název záložky
editor->ModifyBookmarks(u"bookmark for page 1", u"Page 1 Bookmark");
// Uložte dokument PDF
editor->Save(u"OutputDirectory\\ModifyBookmark_out.pdf");
Odstraňte konkrétní záložku pomocí C++
Rozhraní API poskytuje metodu PdfBookmarkEditor->DeleteBookmarks(System::String title) pro odstranění konkrétní záložky ze souboru PDF. Následují kroky k odstranění konkrétní záložky.
- Vytvořte instanci třídy PdfBookmarkEditor.
- Načtěte dokument PDF pomocí PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) metoda.
- Vymažte požadovanou záložku pomocí metody PdfBookmarkEditor->Delete Bookmarks(System::String title).
- Uložte dokument PDF pomocí metody PdfBookmarkEditor->Save(System::String destFile).
Následující ukázkový kód ukazuje, jak odstranit konkrétní záložku pomocí C++.
// Vytvořte instanci třídy PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Načtěte dokument PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Smazat konkrétní záložku
editor->DeleteBookmarks(u"bookmark for page 1");
// Uložte dokument PDF
editor->Save(u"OutputDirectory\\DeleteParticularBookmark_out.pdf");
Odstraňte všechny záložky v souboru PDF pomocí C++
Místo mazání záložek po jedné můžete odstranit všechny záložky najednou pomocí metody PdfBookmarkEditor->Delete Bookmarks(). Následují kroky k odstranění všech záložek v souboru PDF.
- Vytvořte instanci třídy PdfBookmarkEditor.
- Načtěte dokument PDF pomocí PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc) metoda.
- Odstraňte všechny záložky pomocí metody PdfBookmarkEditor->DeleteBookmarks().
- Uložte dokument PDF pomocí metody PdfBookmarkEditor->Save(System::String destFile).
Následuje ukázkový kód pro odstranění všech záložek v souboru PDF.
// Vytvořte instanci třídy PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Načtěte dokument PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Smazat všechny záložky
editor->DeleteBookmarks();
// Uložte dokument PDF
editor->Save(u"OutputDirectory\\DeleteAllBookmarks_out.pdf");
Získejte bezplatnou licenci
Rozhraní API můžete vyzkoušet bez omezení hodnocení tím, že požádáte o bezplatnou dočasnou licenci.
Závěr
V tomto článku jste se naučili pracovat se záložkami v souborech PDF pomocí C++. Konkrétně jste se naučili přidávat, číst, upravovat a odstraňovat záložky v souboru PDF. Dále jste viděli, jak přidat vnořené záložky pomocí Aspose.PDF for C++ API. Rozhraní API poskytuje mnoho dalších funkcí pro práci se soubory PDF, které můžete podrobně prozkoumat pomocí oficiální dokumentace. Pokud máte nějaké dotazy, neváhejte nás kontaktovat na bezplatném fóru podpory.