Marcadores em um arquivo PDF são úteis para marcar pontos de interesse no documento. Eles permitem que você salte rapidamente para um ponto específico no documento. Você pode se encontrar em situações em que precisa adicionar, ler, modificar ou excluir marcadores em um arquivo PDF programaticamente. Para isso, este artigo ensinará como trabalhar com marcadores em arquivos PDF usando C++.
- API C++ para trabalhar com marcadores em arquivos PDF
- Adicionar marcadores em arquivos PDF usando C++
- Adicionar marcadores aninhados em arquivos PDF
- Ler marcadores de um arquivo PDF usando C++
- Modificar o título do marcador usando C++
- Excluir um marcador específico usando C++
- Excluir todos os marcadores em um arquivo PDF usando C++
- Obtenha uma licença gratuita
API C++ para trabalhar com marcadores em arquivos PDF
Aspose.PDF for C++ é uma biblioteca C++ que permite criar, ler e atualizar documentos PDF. Além disso, a API suporta adicionar, ler, modificar e remover marcadores de arquivos PDF. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção downloads.
PM> Install-Package Aspose.PDF.Cpp
Adicionar marcadores em arquivos PDF usando C++
A seguir estão as etapas para adicionar um marcador em um arquivo PDF.
- Primeiramente, crie uma instância da classe PdfBookmarkEditor.
- Carregue o documento PDF usando o PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc).
- Crie o marcador usando o método PdfBookmarkEditor->CreateBookmarkOfPage(System::String bookmarkName, int32t pageNumber).
- Salve o documento PDF usando o método PdfBookmarkEditor->Save(System::String destFile).
O código de exemplo a seguir demonstra como adicionar um marcador em um arquivo PDF usando C++.
// Crie uma instância da classe PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Carregar o documento PDF
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Crie o marcador
editor->CreateBookmarkOfPage(u"Bookmark for page 1", 1);
// Salve o documento PDF
editor->Save(u"OutputDirectory\\AddBookmark_out.pdf");
Adicionar marcadores aninhados em arquivos PDF
Você também pode adicionar marcadores aninhados usando a API Aspose.PDF para C++. A seguir estão as etapas para adicionar marcadores aninhados.
- Crie uma instância da classe PdfBookmarkEditor.
- Carregue o documento PDF usando o PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc).
- Crie marcadores usando a classe Bookmark.
- Adicione os marcadores filho à instância da classe Bookmarks e defina-o como filho do marcador pai usando o bookmark->setChildItems(System::SharedPtr valor) método.
- Adicione os favoritos ao documento PDF usando PdfBookmarkEditor->CreateBookmarks(System::SharedPtr bookmark).
- Finalmente, salve o documento PDF usando o método PdfBookmarkEditor->Save(System::String destFile).
O código de exemplo a seguir mostra como adicionar marcadores aninhados em um arquivo PDF usando C++.
// Crie uma instância da classe PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Carregar o documento PDF
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Criar 1º marcador filho
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm1 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm1->set_PageNumber(1);
bm1->set_Title(u"First child");
// Criar 2º marcador filho
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm2 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm2->set_PageNumber(2);
bm2->set_Title(u"Second child");
// Criar marcador pai
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");
// Definir os favoritos filhos
System::SharedPtr<Aspose::Pdf::Facades::Bookmarks> bms = System::MakeObject<Aspose::Pdf::Facades::Bookmarks>();
bms->Add(bm1);
bms->Add(bm2);
bm->set_ChildItem(bms);
// Adicione os marcadores ao arquivo PDF
editor->CreateBookmarks(bm);
// Salve o documento PDF
editor->Save(u"OutputDirectory\\AddChildBookmark_out.pdf");
Ler marcadores de um arquivo PDF usando C++
Para ler os favoritos, use o método PdfBookmarkEditor->ExtractBookmarks(). A seguir estão as etapas para ler marcadores de um arquivo PDF.
- Crie uma instância da classe PdfBookmarkEditor.
- Carregue o documento PDF usando o PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc).
- Recupere todos os favoritos usando o método PdfBookmarkEditor->ExtractBookmarks().
- Percorra os marcadores para recuperar marcadores individuais.
- Leia as propriedades dos marcadores.
O código de exemplo a seguir mostra como ler marcadores de um arquivo PDF usando C++.
// Crie uma instância da classe PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Carregar o documento PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Recuperar todos os favoritos
System::SharedPtr <Bookmarks> bms = editor->ExtractBookmarks();
// Percorrer os marcadores
for (System::SharedPtr<Bookmark> bm : bms) {
// Exibir o título do marcador
Console::WriteLine(bm->get_Title());
// Exibir o destino do marcador
Console::WriteLine(bm->get_Destination());
}
Modificar o título do marcador usando C++
A seguir estão as etapas para modificar o título de um marcador existente em um arquivo PDF.
- Crie uma instância da classe PdfBookmarkEditor.
- Carregue o documento PDF usando o PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc).
- Modifique o título do marcador usando o método PdfBookmarkEditor->ModifyBookmarks(System::String sTitle, System::String dTitle).
- Salve o documento PDF usando o método PdfBookmarkEditor->Save(System::String destFile).
O código de exemplo a seguir demonstra como modificar o título de um marcador existente em um arquivo PDF.
// Crie uma instância da classe PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Carregar o documento PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Modificar título do marcador
editor->ModifyBookmarks(u"bookmark for page 1", u"Page 1 Bookmark");
// Salve o documento PDF
editor->Save(u"OutputDirectory\\ModifyBookmark_out.pdf");
Excluir um marcador específico usando C++
A API fornece o método PdfBookmarkEditor->DeleteBookmarks(System::String title) para excluir um marcador específico de um arquivo PDF. A seguir estão as etapas para excluir um marcador específico.
- Crie uma instância da classe PdfBookmarkEditor.
- Carregue o documento PDF usando o PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc).
- Exclua o marcador desejado usando o método PdfBookmarkEditor->DeleteBookmarks(System::String title).
- Salve o documento PDF usando o método PdfBookmarkEditor->Save(System::String destFile).
O código de exemplo a seguir mostra como excluir um indicador específico usando C++.
// Crie uma instância da classe PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Carregar o documento PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Excluir um marcador específico
editor->DeleteBookmarks(u"bookmark for page 1");
// Salve o documento PDF
editor->Save(u"OutputDirectory\\DeleteParticularBookmark_out.pdf");
Excluir todos os marcadores em um arquivo PDF usando C++
Em vez de excluir os favoritos um de cada vez, você pode remover todos os favoritos de uma vez usando o método PdfBookmarkEditor->DeleteBookmarks(). A seguir estão as etapas para excluir todos os marcadores em um arquivo PDF.
- Crie uma instância da classe PdfBookmarkEditor.
- Carregue o documento PDF usando o PdfBookmarkEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc).
- Exclua todos os favoritos usando o método PdfBookmarkEditor->DeleteBookmarks().
- Salve o documento PDF usando o método PdfBookmarkEditor->Save(System::String destFile).
Veja a seguir o código de exemplo para excluir todos os marcadores em um arquivo PDF.
// Crie uma instância da classe PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Carregar o documento PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Excluir todos os favoritos
editor->DeleteBookmarks();
// Salve o documento PDF
editor->Save(u"OutputDirectory\\DeleteAllBookmarks_out.pdf");
Obtenha uma licença gratuita
Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.
Conclusão
Neste artigo, você aprendeu como trabalhar com marcadores em arquivos PDF usando C++. Especificamente, você aprendeu como adicionar, ler, modificar e excluir marcadores em um arquivo PDF. Além disso, você viu como adicionar marcadores aninhados usando a API Aspose.PDF para C++. A API fornece muitos recursos adicionais para trabalhar com arquivos PDF que você pode explorar em detalhes usando a documentação oficial. Se você tiver alguma dúvida, não hesite em nos contatar no fórum de suporte gratuito.