Trabalhando com anotações em arquivos PDF usando C++

Anotações são objetos adicionais que podem ser adicionados a documentos PDF. As anotações podem ser úteis em cenários como adicionar informações contextuais ao documento. Como os arquivos PDF não são facilmente editáveis, as anotações oferecem uma opção para adicionar informações adicionais ao documento. Neste artigo, você aprenderá a trabalhar com anotações em arquivos PDF usando C++.

API C++ para trabalhar com anotações em arquivos PDF

Aspose.PDF for C++ é uma biblioteca C++ que permite criar, ler e atualizar documentos PDF. Além disso, a API suporta trabalhar com anotações em 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

Ler anotações em arquivos PDF

A seguir estão as etapas para ler anotações em arquivos PDF.

Veja a seguir o código de exemplo para ler anotações em arquivos PDF usando C++.

// Crie uma instância da classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();

// Carregue o arquivo PDF de amostra
annotationEditor->BindPdf(u"SourceDirectory\\Sample 1.pdf");

// Criar uma matriz de tipos de anotação
System::ArrayPtr<Aspose::Pdf::Annotations::AnnotationType> annotationTypes = System::MakeArray<Aspose::Pdf::Annotations::AnnotationType>({ Aspose::Pdf::Annotations::AnnotationType::Text, Aspose::Pdf::Annotations::AnnotationType::Highlight });

// Extrair anotações
System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Aspose::Pdf::Annotations::Annotation>>> annotationList = annotationEditor->ExtractAnnotations(1, 2, annotationTypes);

// Percorrer as anotações
for (System::SharedPtr<Aspose::Pdf::Annotations::Annotation> annotation : annotationList)
{
	// Exibir conteúdo da anotação
	Console::WriteLine(annotation->get_Contents());
}

Adicionar anotações a arquivos PDF

A seguir estão as etapas para adicionar anotações a arquivos PDF.

Veja a seguir o código de exemplo para adicionar anotações a arquivos PDF usando C++.

// Crie uma instância da classe PdfContentEditor
auto editor = MakeObject<Facades::PdfContentEditor>();

// Carregue o arquivo PDF de amostra
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");

// Criar anotação
editor->CreateText(System::Drawing::Rectangle(400, 700, 100, 100), u"Title", u"Welcome to Aspose", true, u"Comment", 1);

// Salvar arquivo PDF
editor->Save(u"OutputDirectory\\AnnotationSample.pdf");

A seguir está a imagem do arquivo salvo pelo código de exemplo.

Anotação adicionada ao arquivo PDF

Imagem mostrando a anotação

Modificar anotações em arquivos PDF usando C++

A seguir estão as etapas para modificar anotações em arquivos PDF.

Veja a seguir o código de exemplo para modificar anotações em arquivos PDF usando C++.

// Crie uma instância do arquivo PDF de amostra
auto document = MakeObject <Aspose::Pdf::Document>(u"SourceDirectory\\AnnotationSample.pdf");

// Crie uma instância da classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();

// Carregar o documento PDF de amostra
annotationEditor->BindPdf(document);

// Criar um objeto de anotação
System::SharedPtr<Aspose::Pdf::Annotations::TextAnnotation> annotation = System::MakeObject<Aspose::Pdf::Annotations::TextAnnotation>(document->get_Pages()->idx_get(1), MakeObject<Aspose::Pdf::Rectangle>(200, 400, 400, 600));

// Definir data de modificação
annotation->set_Modified(System::DateTime::get_Now());

// Definir título
annotation->set_Title(u"NEW AUTHOR");

// Definir conteúdo
annotation->set_Contents(u"NEW CONTENTS");

// Definir assunto
annotation->set_Subject(u"NEW SUBJECT");

// Definir bandeira aberta
annotation->set_Open(true);

// Modificar anotação
annotationEditor->ModifyAnnotations(1, 1, annotation);

// Salve o documento
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

Remover anotações de arquivos PDF

O Aspose.PDF para C++ fornece as seguintes opções para remover as anotações de arquivos PDF.

Remover uma anotação específica

A seguir estão as etapas para remover uma anotação específica de um arquivo PDF.

Veja a seguir o código de exemplo para remover uma anotação específica de um arquivo PDF usando C++.

// Crie uma instância da classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Carregar um documento PDF existente
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Excluir anotação por nome
annotationEditor->DeleteAnnotation(u"4df2cf36-d961-4d83-a39e-4b0069f97e0b");
// Salve o documento
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

Removendo anotações por tipo

A seguir estão as etapas para remover anotações por tipo de arquivos PDF.

Veja a seguir o código de exemplo para remover anotações por tipo de arquivos PDF usando C++.

// Crie uma instância da classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Carregar um documento PDF existente
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Excluir anotações de texto
annotationEditor->DeleteAnnotations(u"Text");
// Salve o documento
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

Remover todas as anotações

A seguir estão as etapas para remover todas as anotações de arquivos PDF.

Veja a seguir o código de exemplo para remover todas as anotações de arquivos PDF usando C++.

// Crie uma instância da classe PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Carregar um documento PDF existente
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Excluir todas as anotações
annotationEditor->DeleteAnnotations();
// Salve o documento
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_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 anotações em arquivos PDF usando C++. Especificamente, você viu como ler, adicionar, editar e excluir anotações de arquivos PDF. Além disso, você aprendeu como excluir uma anotação específica, anotações por tipo ou todas as anotações usando Aspose.PDF para C++ API. A API fornece vários recursos adicionais para trabalhar com arquivos PDF. Você pode explorar a API em detalhes usando a documentação oficial. Em caso de dúvidas, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.

Veja também