Робота з анотаціями у файлах PDF за допомогою C++

Анотації – це додаткові об’єкти, які можна додавати до документів PDF. Анотації можуть бути корисними в таких ситуаціях, як додавання контекстної інформації до документа. Оскільки PDF-файли нелегко редагувати, анотації надають можливість додати до документа додаткову інформацію. У цій статті ви дізнаєтесь, як додавати, оновлювати та видаляти анотації у файлах PDF у C++.

Бібліотека C++ для роботи з анотаціями PDF

Aspose.PDF for C++ — це бібліотека C++, яка дозволяє створювати, читати та оновлювати документи PDF. Крім того, бібліотека підтримує роботу з анотаціями в PDF-файлах. Бібліотеку можна встановити через NuGet або завантажити безпосередньо з розділу завантаження.

PM> Install-Package Aspose.PDF.Cpp

Додайте анотації до PDF на C++

Нижче наведено кроки для додавання анотацій до файлів PDF у C++.

Нижче наведено зразок коду для додавання анотацій до 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-файлу додано анотацію

Зображення анотації

Читайте анотації в PDF на C++

Нижче наведено кроки для читання анотацій у файлі PDF у C++.

Нижче наведено зразок коду для читання анотацій у 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 на C++

Нижче наведено кроки для редагування та оновлення анотацій у файлах PDF у C++.

Нижче наведено зразок коду для зміни анотацій у 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");

C++ Видалити анотації PDF

Aspose.PDF for C++ надає такі параметри для видалення анотацій із файлів PDF.

Видалити конкретну анотацію PDF

Нижче наведено кроки, щоб видалити певну анотацію з PDF-файлу.

Нижче наведено приклад коду для видалення певної анотації з 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 за типом

Нижче наведено кроки для видалення анотацій за типом із файлів PDF.

Нижче наведено зразок коду для видалення анотацій за типом із файлів 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

Нижче наведено кроки, щоб видалити всі анотації з файлів PDF.

Нижче наведено зразок коду для видалення всіх анотацій із 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");

Безкоштовна бібліотека C++ для додавання анотацій PDF

Ви можете використовувати Aspose.PDF for C++ без обмежень оцінки, отримавши безкоштовну тимчасову ліцензію.

Бібліотека C++ PDF

Бібліотека надає купу додаткових функцій для роботи з файлами PDF. Ви можете детально ознайомитися з бібліотекою, використовуючи офіційну документацію. У разі будь-яких запитань зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Висновок

У цій статті ви дізналися, як працювати з анотаціями у файлах PDF за допомогою C++. Зокрема, ви бачили, як читати, додавати, редагувати та видаляти анотації з PDF-файлу на C++. Крім того, ви дізналися, як видалити певну анотацію, анотації за типом або всі анотації за допомогою Aspose.PDF for C++.

Дивись також