Аннотации — это дополнительные объекты, которые можно добавлять в документы PDF. Аннотации могут быть полезны в таких сценариях, как добавление контекстной информации в документ. Поскольку файлы PDF нелегко редактировать, аннотации позволяют добавлять в документ дополнительную информацию. В этой статье вы узнаете, как работать с аннотациями в файлах PDF с помощью C++.
- C++ API для работы с аннотациями в файлах PDF
- Чтение аннотаций в файлах PDF
- Добавить аннотации к файлам PDF
- Изменение аннотаций в файлах PDF с помощью C++
- Удалить аннотации из файлов PDF
- Получить бесплатную лицензию
C++ API для работы с аннотациями в файлах PDF
Aspose.PDF for C++ — это библиотека C++, позволяющая создавать, читать и обновлять PDF-документы. Кроме того, API поддерживает работу с аннотациями в файлах PDF. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела загрузки.
PM> Install-Package Aspose.PDF.Cpp
Чтение аннотаций в файлах PDF
Ниже приведены шаги для чтения аннотаций в файлах PDF.
- Во-первых, создайте экземпляр класса PdfAnnotationEditor.
- Загрузите файл PDF с помощью PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Получите аннотации с помощью PdfAnnotationEditor->ExtractAnnotations (начало int32t, конец int32t, System::ArrayPtrAspose::Pdf::Annotations::AnnotationType метод annotTypes).
- Прокрутите аннотации и распечатайте их содержимое.
Ниже приведен пример кода для чтения аннотаций в файлах PDF с использованием C++.
// Создайте экземпляр класса PdfAnnotationEditor.
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Загрузите образец PDF-файла
annotationEditor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Создайте массив типов аннотаций
System::ArrayPtr<Aspose::Pdf::Annotations::AnnotationType> annotationTypes = System::MakeArray<Aspose::Pdf::Annotations::AnnotationType>({ Aspose::Pdf::Annotations::AnnotationType::Text, Aspose::Pdf::Annotations::AnnotationType::Highlight });
// Извлечь аннотации
System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Aspose::Pdf::Annotations::Annotation>>> annotationList = annotationEditor->ExtractAnnotations(1, 2, annotationTypes);
// Пролистайте аннотации
for (System::SharedPtr<Aspose::Pdf::Annotations::Annotation> annotation : annotationList)
{
// Показать содержимое аннотации
Console::WriteLine(annotation->get_Contents());
}
Добавить аннотации к файлам PDF
Ниже приведены шаги для добавления аннотаций в файлы PDF.
- Во-первых, создайте экземпляр класса PdfContentEditor.
- Загрузите файл PDF с помощью PdfContentEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Создайте аннотацию с помощью метода PdfContentEditor->CreateText (System::Drawing::Rectangle rect, System::String title, System::String content, bool open, System::String icon, int32t page).
- Наконец, сохраните PDF-файл с помощью метода PdfContentEditor->Save (System::String destFile).
Ниже приведен пример кода для добавления аннотаций к файлам PDF с помощью C++.
// Создайте экземпляр класса PdfContentEditor.
auto editor = MakeObject<Facades::PdfContentEditor>();
// Загрузите образец PDF-файла
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Создать аннотацию
editor->CreateText(System::Drawing::Rectangle(400, 700, 100, 100), u"Title", u"Welcome to Aspose", true, u"Comment", 1);
// Сохранить PDF-файл
editor->Save(u"OutputDirectory\\AnnotationSample.pdf");
Ниже приведено изображение файла, сохраненного с помощью примера кода.
Изменение аннотаций в файлах PDF с помощью C++
Ниже приведены шаги по изменению аннотаций в файлах PDF.
- Во-первых, создайте экземпляр класса PdfAnnotationEditor.
- Загрузите файл PDF с помощью PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Создайте экземпляр класса TextAnnotation.
- Установите содержание аннотации.
- Используйте PdfAnnotationEditor->ModifyAnnotations (начало int32t, конец int32t, System::SharedPtrAspose::Pdf::Annotations::Annotation annotation) для изменения аннотации.
- Наконец, сохраните обновленный файл PDF с помощью метода PdfAnnotationEditor->Save (System::String destFile).
Ниже приведен пример кода для изменения аннотаций в файлах PDF с помощью C++.
// Создайте экземпляр образца PDF-файла
auto document = MakeObject <Aspose::Pdf::Document>(u"SourceDirectory\\AnnotationSample.pdf");
// Создайте экземпляр класса PdfAnnotationEditor.
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Загрузите образец PDF-документа
annotationEditor->BindPdf(document);
// Создать объект аннотации
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));
// Установить дату изменения
annotation->set_Modified(System::DateTime::get_Now());
// Установить заголовок
annotation->set_Title(u"NEW AUTHOR");
// Установить содержимое
annotation->set_Contents(u"NEW CONTENTS");
// Установить тему
annotation->set_Subject(u"NEW SUBJECT");
// Установить открытый флаг
annotation->set_Open(true);
// Изменить аннотацию
annotationEditor->ModifyAnnotations(1, 1, annotation);
// Сохраните документ
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");
Удалить аннотации из файлов PDF
Aspose.PDF для C++ предоставляет следующие возможности для удаления аннотаций из PDF-файлов.
Удалить конкретную аннотацию
Ниже приведены шаги по удалению определенной аннотации из файла PDF.
- Во-первых, создайте экземпляр класса PdfAnnotationEditor.
- Загрузите файл PDF с помощью PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Удалите аннотацию по имени с помощью метода PdfAnnotationEditor->DeleteAnnotation (System::String annotName).
- Наконец, сохраните обновленный файл PDF с помощью метода PdfAnnotationEditor->Save (System::String destFile).
Ниже приведен пример кода для удаления определенной аннотации из файла PDF с помощью C++.
// Создайте экземпляр класса PdfAnnotationEditor.
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Загрузите существующий PDF-документ
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Удалить аннотацию по имени
annotationEditor->DeleteAnnotation(u"4df2cf36-d961-4d83-a39e-4b0069f97e0b");
// Сохраните документ
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");
Удаление аннотаций по типу
Ниже приведены шаги по удалению аннотаций по типу из файлов PDF.
- Во-первых, создайте экземпляр класса PdfAnnotationEditor.
- Загрузите файл PDF с помощью PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Удалите аннотацию по типу с помощью метода PdfAnnotationEditor->DeleteAnnotations (System::String annotType).
- Наконец, сохраните обновленный файл PDF с помощью метода PdfAnnotationEditor->Save (System::String destFile).
Ниже приведен пример кода для удаления аннотаций по типу из PDF-файлов с помощью C++.
// Создайте экземпляр класса PdfAnnotationEditor.
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Загрузите существующий PDF-документ
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Удалить текстовые аннотации
annotationEditor->DeleteAnnotations(u"Text");
// Сохраните документ
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");
Удалить все аннотации
Ниже приведены шаги по удалению всех аннотаций из файлов PDF.
- Во-первых, создайте экземпляр класса PdfAnnotationEditor.
- Загрузите файл PDF с помощью PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc).
- Удалите все аннотации с помощью метода PdfAnnotationEditor->DeleteAnnotations().
- Наконец, сохраните обновленный файл PDF с помощью метода PdfAnnotationEditor->Save (System::String destFile).
Ниже приведен пример кода для удаления всех аннотаций из PDF-файлов с помощью C++.
// Создайте экземпляр класса PdfAnnotationEditor.
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Загрузите существующий PDF-документ
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Удалить все аннотации
annotationEditor->DeleteAnnotations();
// Сохраните документ
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");
Получить бесплатную лицензию
Вы можете попробовать API без ограничений на пробную версию, запросив бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как работать с аннотациями в файлах PDF с помощью C++. В частности, вы увидели, как читать, добавлять, редактировать и удалять аннотации из файлов PDF. Кроме того, вы узнали, как удалить конкретную аннотацию, аннотации по типу или все аннотации с помощью Aspose.PDF для C++ API. API предоставляет множество дополнительных возможностей для работы с PDF-файлами. Вы можете подробно изучить API, используя официальную документацию. Если у вас возникнут вопросы, свяжитесь с нами на нашем бесплатном форуме поддержки.