إضافة، حذف والحصول على تعليق توضيحي - الواجهات

إضافة تعليق توضيحي في ملف PDF موجود باستخدام PdfContentEditor

PdfContentEditor يسمح لك بإضافة أنواع مختلفة من التعليقات التوضيحية في ملف PDF موجود. يمكنك استخدام الطريقة المناسبة لفئة PdfContentEditor لإضافة نوع معين من التعليقات التوضيحية في مستند PDF موجود. على سبيل المثال، في مقتطفات الشيفرة التالية، استخدمنا طرق CreateText(…) و CreateFreeText(…)، لإضافة تعليقات وتعليقات نصية حرة في ملف PDF الموجود على التوالي. تحتاج إلى القيام بالخطوات التالية، من أجل إضافة التعليقات التوضيحية باستخدام فئة PdfContentEditor:

  • إنشاء كائن من Facades::PdfContentEditor.
  • استخدام طريقة BindPdf(…) لتحميل ملف PDF موجود.
  • استدعاء الطريقة المناسبة لإنشاء تعليق توضيحي. مثل CreateText(…),CreateFreeText(…), إلخ.
  • حفظ مستند PDF باستخدام طريقة Save(…).

إضافة تعليقات إلى مستند PDF موجود

يظهر لك مقتطف الشيفرة التالي كيفية إضافة تعليق في ملف PDF موجود.


For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
auto editor = MakeObject<Facades::PdfContentEditor>();
editor->BindPdf(L"..\\Data\\Annotations\\input.pdf");
editor->CreateText(System::Drawing::Rectangle(400, 700, 100, 100), L"Title", L"Welcome to Aspose", true, L"Comment", 1);
editor->Save(L"..\\Data\\Annotations\\input_out.pdf");
## <ins>**حذف جميع التعليقات التوضيحية من ملف PDF موجود** يوفر Aspose.PDF لـ C++ أيضًا فئة **PdfAnnotationEditor**، والتي تمكنك من حذف جميع التعليقات التوضيحية من مستند PDF. من أجل حذف جميع التعليقات التوضيحية من ملف PDF الموجود، تحتاج إلى إنشاء كائن من فئة **PdfAnnotationEditor** وفتح المستند الموجود. بعد ذلك، يمكنك استخدام طريقة **DeleteAnnotations(...)** لفئة PdfAnnotationEditor لحذف التعليقات التوضيحية. يُظهر لك مقتطف الكود التالي كيفية استخدام PdfAnnotationEditor لتحقيق الغرض:
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Load an existing PDF document
editor->BindPdf(L"..\\Data\\Annotations\\DeleteAllAnnotations.pdf");
// Delete All Annotations
editor->DeleteAnnotations();
// Save the document
editor->Save(L"..\\Data\\Annotations\\DeleteAllAnnotations_out.pdf");
## <ins>**حذف جميع التعليقات التوضيحية حسب النوع المحدد** يمكنك استخدام فئة **PdfAnnotationEditor** لحذف جميع التعليقات التوضيحية، بواسطة نوع تعليق توضيحي محدد، من ملف PDF الموجود. من أجل القيام بذلك، تحتاج إلى إنشاء كائن **PdfAnnotationEditor** وربط ملف PDF المدخل باستخدام طريقة **BindPdf**. بعد ذلك، قم باستدعاء طريقة **DeleteAnnotations**، مع المعامل النصي، لحذف جميع التعليقات التوضيحية من الملف؛ يمثل المعامل النصي نوع التعليق التوضيحي المراد حذفه. وأخيراً، استخدم طريقة **Save** لحفظ ملف PDF المحدث. يوضح لك مقتطف الشفرة التالي كيفية حذف جميع التعليقات التوضيحية حسب نوع التعليق التوضيحي المحدد.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Load an existing PDF document
editor->BindPdf(L"..\\Data\\Annotations\\DeleteAllAnnotations.pdf");
// Delete All Text Annotations
editor->DeleteAnnotations(L"Text");
// Save the document
editor->Save(L"..\\Data\\Annotations\\DeleteAllAnnotations_out.pdf");
## <ins>**تحديث/تعديل التعليقات التوضيحية في ملف PDF موجود** من أجل تحديث تعديل تعليق توضيحي في مستند PDF، يمكنك استخدام طريقة **ModifyAnnotations(...)** الخاصة بفئة **PdfAnnotationEditor** التي تأخذ كائن التعليق التوضيحي إلى جانب مؤشر البداية والنهاية للتعليقات التوضيحية. سيظهر لك مقتطف الشفرة التالي كيفية استخدام طريقة **ModifyAnnotations(...)**:
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
auto doc = MakeObject <Aspose::Pdf::Document>(L"..\\Data\\Annotations\\input.pdf");
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Load an existing PDF document
editor->BindPdf(doc);
// Create an annotation object
System::SharedPtr<Aspose::Pdf::InteractiveFeatures::Annotations::TextAnnotation> annot = System::MakeObject<Aspose::Pdf::InteractiveFeatures::Annotations::TextAnnotation>(doc->get_Pages()->idx_get(1), MakeObject<Aspose::Pdf::Rectangle>(200, 400, 400, 600));
// Set modified date
annot->set_Modified(System::DateTime::get_Now());
// Set Title
annot->set_Title(L"NEW AUTHOR");
// Set Content
annot->set_Contents(L"NEW CONTENTS");
// Set Color
annot->set_Color(Color::get_Red());
// Set Object
annot->set_Subject(L"NEW SUBJECT");
// Set open flag
annot->set_Open(true);
// Modify Annotation
editor->ModifyAnnotations(1, 1, annot);
// Save the document
editor->Save(L"..\\Data\\Annotations\\output_out.pdf");
## <ins>**استيراد التعليقات التوضيحية من XFDF إلى ملف PDF** تسمح لك طريقة **ImportAnnotationFromXfdf** من فئة **PdfAnnotationEditor** باستيراد التعليقات التوضيحية إلى ملف PDF. من أجل استيراد التعليقات التوضيحية، تحتاج إلى إنشاء كائن **PdfAnnotationEditor** وربط ملف PDF باستخدام طريقة **BindPdf**. بعد ذلك، تحتاج إلى إنشاء تعداد لأنواع التعليقات التوضيحية التي تريد استيرادها إلى ملف PDF. يمكنك بعد ذلك استخدام طريقة **ImportAnnotationFromXfdf** لاستيراد التعليقات التوضيحية. وأخيرًا، احفظ ملف PDF المحدث باستخدام طريقة **Save** للكائن **PdfAnnotationEditor**. يوضح لك المقتطف البرمجي التالي كيفية استيراد التعليقات التوضيحية من ملف XFDF.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Load Document where you want to import document
editor->BindPdf(L"..\\Data\\Annotations\\ImportAnnotations.pdf");
// Import annotations from XFDF file
editor->ImportAnnotationFromXfdf(L"..\\Data\\Annotations\\annotations.xfdf");
// Save the document
editor->Save(L"..\\Data\\Annotations\\ImportAnnotations_out.pdf");
## **تصدير التعليقات التوضيحية من ملف PDF إلى XFDF** تسمح لك طريقة **ExportAnnotationXfdf** بتصدير التعليقات التوضيحية من ملف PDF. من أجل تصدير التعليقات التوضيحية، تحتاج إلى إنشاء كائن **PdfAnnotationEditor** وربط ملف PDF باستخدام طريقة **BindPdf**. بعد ذلك، تحتاج إلى إنشاء تعداد لأنواع التعليقات التوضيحية التي تريد تصديرها من ملف PDF. يمكنك بعد ذلك استخدام طريقة **ExportAnnotationXfdf** لاستيراد التعليقات التوضيحية. وأخيراً، قم بحفظ ملف PDF المحدث باستخدام طريقة **Save** لكائن **PdfAnnotationEditor**. يوضح لك مقتطف الشيفرة التالي كيفية تصدير التعليقات التوضيحية إلى ملف XFDF.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Load Document where you want to import document
editor->BindPdf(L"..\\Data\\Annotations\\ExportAnnotations.pdf");
System::ArrayPtr<System::String> annotTypes = System::MakeArray<System::String>({ L"Text", L"Highlight" });
{
System::SharedPtr<System::IO::Stream> stream = System::IO::File::Create(L"..\\Data\\Annotations\\Exported_out.xfdf");
editor->ExportAnnotationsXfdf(stream, 1, 2, annotTypes);
}
## <ins>**استخراج التعليقات التوضيحية من ملف PDF موجود** طريقة **ExtractAnnotations** تتيح لك استخراج التعليقات التوضيحية من ملف PDF. من أجل استخراج التعليقات التوضيحية، تحتاج إلى إنشاء كائن **PdfAnnotationEditor** وربط ملف PDF باستخدام طريقة **BindPdf**. بعد ذلك، تحتاج إلى إنشاء تعداد لأنواع التعليقات التوضيحية التي تريد استخراجها من ملفات PDF. يمكنك بعد ذلك استخدام طريقة **Extract Annotations** لاستخراج التعليقات التوضيحية إلى ArrayPtr. بعد ذلك، يمكنك التجول خلال هذه القائمة والحصول على التعليقات التوضيحية الفردية. وأخيرًا، احفظ ملف PDF المحدث باستخدام طريقة **Save** لكائن **PdfAnnotationEditor**. يعرض لك مقطع الشفرة التالي كيفية استخراج التعليقات التوضيحية من ملفات PDF.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Load Document where you want to import document
editor->BindPdf(L"..\\Data\\Annotations\\ExtractAnnotations.pdf");
System::ArrayPtr<Aspose::Pdf::InteractiveFeatures::Annotations::AnnotationType> annotTypes = System::MakeArray<Aspose::Pdf::InteractiveFeatures::Annotations::AnnotationType>({ Aspose::Pdf::InteractiveFeatures::Annotations::AnnotationType::Text, Aspose::Pdf::InteractiveFeatures::Annotations::AnnotationType::Highlight });
// Extract Annotations
System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Aspose::Pdf::InteractiveFeatures::Annotations::Annotation>>> annotList = editor->ExtractAnnotations(1, 2, annotTypes);