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
- Ler anotações em arquivos PDF
- Adicionar anotações a arquivos PDF
- Modificar anotações em arquivos PDF usando C++
- Remover anotações de arquivos PDF
- Obtenha uma licença gratuita
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.
- Primeiramente, crie uma instância da classe PdfAnnotationEditor.
- Carregue o arquivo PDF usando o PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Recupere as anotações usando o PdfAnnotationEditor->ExtractAnnotations (int32t start, int32t end, System::ArrayPtrAspose::Pdf::Annotations::AnnotationType annotTypes).
- Percorra as anotações e imprima seu conteúdo.
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.
- Primeiramente, crie uma instância da classe PdfContentEditor.
- Carregue o arquivo PDF usando o PdfContentEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Crie a anotação usando o método PdfContentEditor->CreateText (System::Drawing::Rectangle rect, System::String title, System::String contents, bool open, System::String icon, int32t page).
- Finalmente, salve o PDF usando o método PdfContentEditor->Save (System::String destFile).
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.
Modificar anotações em arquivos PDF usando C++
A seguir estão as etapas para modificar anotações em arquivos PDF.
- Primeiramente, crie uma instância da classe PdfAnnotationEditor.
- Carregue o arquivo PDF usando o PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Crie uma instância da classe TextAnnotation.
- Defina o conteúdo da anotação.
- Use o PdfAnnotationEditor->ModifyAnnotations (int32t start, int32t end, System::SharedPtrAspose::Pdf::Annotations::Annotation anotação) para modificar a anotação.
- Por fim, salve o arquivo PDF atualizado usando o método PdfAnnotationEditor->Save (System::String destFile).
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.
- Primeiramente, crie uma instância da classe PdfAnnotationEditor.
- Carregue o arquivo PDF usando o PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Exclua a anotação pelo nome usando o método PdfAnnotationEditor->DeleteAnnotation (System::String annotName).
- Por fim, salve o arquivo PDF atualizado usando o método PdfAnnotationEditor->Save (System::String destFile).
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.
- Primeiramente, crie uma instância da classe PdfAnnotationEditor.
- Carregue o arquivo PDF usando o PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Exclua a anotação por tipo usando o método PdfAnnotationEditor->DeleteAnnotations (System::String annotType).
- Por fim, salve o arquivo PDF atualizado usando o método PdfAnnotationEditor->Save (System::String destFile).
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.
- Primeiramente, crie uma instância da classe PdfAnnotationEditor.
- Carregue o arquivo PDF usando o PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Exclua todas as anotações usando o método PdfAnnotationEditor->DeleteAnnotations().
- Por fim, salve o arquivo PDF atualizado usando o método PdfAnnotationEditor->Save (System::String destFile).
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.