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

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.

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

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.

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

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.

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.

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.

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.

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.

Viz také