Adicionar e Excluir um Marcador

Adicionar um Marcador a um Documento PDF

Os marcadores são mantidos na coleção OutlineItemCollection do objeto Documento, que está na coleção OutlineCollection.

Para adicionar um marcador a um PDF:

  1. Abra um documento PDF usando o objeto Document.
  2. Crie um marcador e defina suas propriedades.
  3. Adicione a coleção OutlineItemCollection à coleção Outlines.

O trecho de código a seguir mostra como adicionar um marcador em um documento PDF.

void AddBookmarks() {


String _dataDir("C:\\Samples\\Bookmarks\\");

auto pdfDocument = MakeObject<Document>(_dataDir + u"AddBookmark.pdf");


// Crie um objeto de marcador

auto pdfOutline = MakeObject<OutlineItemCollection>(pdfDocument->get_Outlines());

pdfOutline->set_Title(u"Test Outline");

pdfOutline->set_Italic(true);

pdfOutline->set_Bold(true);


// Defina o número da página de destino

pdfOutline->set_Action(MakeObject<Aspose::Pdf::Annotations::GoToAction>(pdfDocument->get_Pages()->idx_get(2)));


// Adicione um marcador na coleção de contornos do documento.

pdfDocument->get_Outlines()->Add(pdfOutline);


// Salve o documento atualizado

pdfDocument->Save(_dataDir + u"AddBookmark_out.pdf");
}

Adicionar um Marcador Filho ao Documento PDF

Os marcadores podem ser aninhados, indicando uma relação hierárquica com marcadores pai e filho. Este artigo explica como adicionar um marcador filho, ou seja, um marcador de segundo nível, a um PDF.

Para adicionar um marcador filho a um arquivo PDF, primeiro adicione um marcador pai:

  1. Abra um documento.
  2. Adicione um marcador à OutlineItemCollection, definindo suas propriedades.
  3. Adicione a OutlineItemCollection à coleção OutlineCollection do objeto Document.

O marcador filho é criado da mesma forma que o marcador pai, explicado acima, mas é adicionado à coleção Outlines do marcador pai.

Os seguintes trechos de código mostram como adicionar um marcador filho a um documento PDF.

void AddChildBookmark() {


String _dataDir("C:\\Samples\\Bookmarks\\");

// Abra o documento

auto pdfDocument = MakeObject<Document>(_dataDir + u"AddChildBookmark.pdf");


// Crie um objeto de marcador pai

auto pdfOutline = MakeObject<OutlineItemCollection>(pdfDocument->get_Outlines());

pdfOutline->set_Title(u"Parent Outline");

pdfOutline->set_Italic(true);

pdfOutline->set_Bold(true);


// Crie um objeto de marcador filho

auto pdfChildOutline = MakeObject<OutlineItemCollection>(pdfDocument->get_Outlines());

pdfChildOutline->set_Title(u"Child Outline");

pdfChildOutline->set_Italic(true);

pdfChildOutline->set_Bold(true);


// Adicione o marcador filho na coleção do marcador pai

pdfOutline->Add(pdfChildOutline);

// Adicione o marcador pai na coleção de contornos do documento.

pdfDocument->get_Outlines()->Add(pdfOutline);


// Salvar saída

pdfDocument->Save(_dataDir + u"AddChildBookmark_out.pdf");
}

Excluir todos os Favoritos de um Documento PDF

Todos os favoritos em um PDF são mantidos na coleção OutlineCollection. Este artigo explica como excluir todos os favoritos de um arquivo PDF.

Para excluir todos os favoritos de um arquivo PDF:

  1. Chame o método Delete da coleção OutlineCollection.
  2. Salve o arquivo modificado usando o método Save do objeto Document.

Os seguintes trechos de código mostram como excluir todos os favoritos de um documento PDF.

void DeleteAllBookmarksFromPDFDocument() {


String _dataDir("C:\\Samples\\Bookmarks\\");

// Abrir documento

auto pdfDocument = MakeObject<Document>(_dataDir + u"DeleteAllBookmarks.pdf");


// Excluir todos os favoritos

pdfDocument->get_Outlines()->Delete();


// Salvar arquivo atualizado

pdfDocument->Save(_dataDir + u"DeleteAllBookmarks_out.pdf");
}

Excluir um Favorito em Particular de um Documento PDF

Excluir Todos os Anexos do documento PDF mostrou como excluir todos os anexos de um arquivo PDF. Também é possível remover apenas anexos específicos.

Para excluir um marcador específico de um arquivo PDF:

  1. Passe o título do marcador como parâmetro para o método Delete da coleção OutlineCollection.
  2. Em seguida, salve o arquivo atualizado com o método Save do objeto Document.

A classe Document fornece a coleção OutlineCollection. O método Delete remove qualquer marcador com o título passado para o método.

Os seguintes trechos de código mostram como excluir um marcador específico do documento PDF.

void DeleteParticularBookmarkPDFDocument() {


String _dataDir("C:\\Samples\\Bookmarks\\");

// Abrir documento

auto pdfDocument = MakeObject<Document>(_dataDir + u"DeleteParticularBookmark.pdf");


// Excluir contorno específico por Título

pdfDocument->get_Outlines()->Delete(u"Child Outline");


// Salvar arquivo atualizado

pdfDocument->Save(_dataDir + u"DeleteParticularBookmark_out.pdf");
}