كان هناك وقت اعتدنا فيه على مناقشة محتوى المستند والتعليقات في سلاسل رسائل البريد الإلكتروني الطويلة مع مرفقات متعددة وإصدارات مختلفة من الملفات. الآن يمكننا ببساطة استخدام التعليقات التوضيحية لترميز المستند بالرسائل والردود وإرسالها. في هذه المقالة ، سوف تتعلم كيفية إضافة تعليق توضيحي برمجيًا إلى مستندات PDF في Java باستخدام التطبيق الخاص بك. بالإضافة إلى ذلك ، سنرى كيفية إزالة التعليقات التوضيحية من ملفات PDF باستخدام نفس واجهة برمجة تطبيقات Java.

فيما يلي المواضيع التي تمت مناقشتها بإيجاز أدناه:

PDF Annotator Java API

للتعامل مع التعليقات التوضيحية للمستند والصور داخل تطبيقات Java الخاصة بك ، يوفر GroupDocs GroupDocs.Annotation for Java. باستخدام واجهة برمجة التطبيقات ، يمكنك إضافة التعليقات التوضيحية وإزالتها واستخراجها من مستندات معالجة الكلمات وجداول البيانات والعروض التقديمية والصور ورسائل البريد الإلكتروني ورسومات Visio وبعض تنسيقات AutoCAD والتصوير الرقمي مثل DICOM. علاوة على ذلك ، تسمح واجهة برمجة التطبيقات (API) بالتعليق على ملفات PDF. يمكنك إلقاء نظرة على الوثائق للتعرف على القائمة الطويلة تنسيقات المستندات المدعومة للتعليق.

التنزيل والتكوين

احصل على مكتبة التعليقات التوضيحية من التنزيلات أو أضف تهيئة pom.xml التالية في تطبيقات Java المستندة إلى Maven لتجربة أمثلة هذه المقالة بالإضافة إلى العديد من الأمثلة الأخرى المتوفرة على GitHub. للحصول على التفاصيل ، يمكنك زيارة مرجع API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-annotation</artifactId>
        <version>20.2</version> 
</dependency>

أضف التعليقات التوضيحية إلى ملف PDF بجافا

دعنا ننتقل بسرعة لإضافة بعض الأنواع المختلفة من التعليقات التوضيحية إلى مستند PDF. نظرًا لوجود العديد من أنواع التعليقات التوضيحية المختلفة ، فقد لا نغطيها جميعًا في هذه المقالة. سأذكرهم فقط ، ويمكنك التعرف على كل تعليق توضيحي على حدة.

  • شرح منطقة / مستطيل

  • سهم

  • مسافه: بعد

  • الشكل البيضاوي

  • تسليط الضوء

  • نهاية لهذه الغاية

  • نقطة

  • متعدد الخطوط

  • إستبدال

  • تنقيح الموارد

  • شطب

  • مجال التحرير مكان كتابة النص

  • تنقيح النص

  • تسطير

  • علامة مائية

لنبدأ في إضافة بعضها في مستند PDF.

أضف تعليق سهم إلى PDF باستخدام Java

فيما يلي خطوات إضافة تعليق توضيحي على شكل سهم إلى مستند PDF.

تعليق توضيحي على شكل سهم
  • قم بتحميل مستند PDF باستخدام فئة Annotator.
  • قم بتهيئة شرح السهم باستخدام فئة ArrowAnnotation.
  • اضبط موضع السهم وحجمه باستخدام طريقة setBox لتعليق السهم.
  • أضف تعليق السهم الذي تم إنشاؤه إلى كائن Annotator.
  • احفظ ملف PDF المشروح بتوفير المسار باستخدام طريقة حفظ.

يوضح نموذج التعليمات البرمجية التالي كيفية إضافة تعليق توضيحي على شكل سهم إلى مستند PDF باستخدام Java.

// أضف تعليقًا على شكل سهم إلى PDF باستخدام Java
final Annotator annotator = new Annotator("document.pdf");
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(100, 100, 100, 100)); // (x, y, width, height)
annotator.add(arrow);
annotator.save("path/annotated-with-arrow.pdf");

قم بإدراج مستطيل أو منطقة تعليق توضيحي في PDF باستخدام Java

يمكنك تخصيص أي تعليق أثناء إضافته إلى المستند. فيما يلي خطوات إضافة تعليق توضيحي على منطقة أو مستطيل إلى مستند PDF مع المزيد من التخصيصات. إنه مشابه لإضافة تعليق توضيحي Arrow ولكنه يستخدم فئة AreaAnnotation بدلاً من ArrowAnnotation.

  • قم بتحميل مستند PDF باستخدام فئة Annotator.
  • قم بتهيئة شرح المستطيل باستخدام فئة AreaAnnotation.
  • اضبط موضع وحجم المستطيل باستخدام طريقة setBox لتعليق المنطقة.
  • عيّن خصائص أخرى مثل اللون أو الخلفية أو التعتيم أو النمط أو عرض القلم أو حتى الرسائل والوقت.
  • أضف التعليق التوضيحي للمستطيل الذي تم إنشاؤه إلى كائن Annotator.
  • احفظ ملف PDF المشروح بتوفير المسار باستخدام طريقة حفظ.
المستطيل أو منطقة الشرح

يوضح نموذج التعليمات البرمجية التالي كيفية إضافة تعليق توضيحي مستطيل / منطقة إلى مستند PDF باستخدام Java.

// أضف تعليق توضيحي للمنطقة أو تعليق توضيحي على شكل مستطيل إلى PDF باستخدام Java
final Annotator annotator = new Annotator("document.pdf");
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
// أضف إلى المستند
annotator.add(area);
annotator.save("path/annotated-with-rectangle.pdf");

أضف تعليقًا توضيحيًا بيضاويًا أو ناقصًا إلى PDF باستخدام Java

فيما يلي خطوات إضافة تعليق توضيحي بيضاوي أو تعليق توضيحي بيضاوي إلى مستند PDF.

القطع الناقص أو الشرح البيضاوي
  • قم بتحميل مستند PDF باستخدام فئة Annotator.
  • قم بتهيئة شرح القطع الناقص باستخدام فئة EllipseAnnotation.
  • اضبط موضع وحجم القطع الناقص باستخدام setBox طريقة EllipseAnnotation.
  • أضف التعليق التوضيحي الناقص الذي تم إنشاؤه إلى كائن التعليقات التوضيحية.
  • احفظ ملف PDF المشروح بتوفير المسار باستخدام طريقة حفظ.

يوضح نموذج التعليمات البرمجية التالي كيفية إضافة تعليق توضيحي بيضاوي أو بيضاوي إلى مستند PDF باستخدام Java.

// أضف تعليقًا توضيحيًا بيضاويًا أو ناقصًا في ملف PDF باستخدام Java
final Annotator annotator = new Annotator("document.pdf");
// تعليق توضيحي بيضاوي أو ناقص
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
// أضف إلى المستند
annotator.add(area);
annotator.save("path/annotated-with-ellipse.pdf");

قم بإدراج تعليق توضيحي عن بعد في ملف PDF باستخدام Java

الشرح عن المسافة

يمكنك أيضًا إضافة تعليق توضيحي عن المسافة لإظهار المسافة بين نقطتين. فيما يلي خطوات إضافة تعليق توضيحي عن بعد إلى مستند PDF.

  • قم بتحميل مستند PDF باستخدام فئة Annotator.
  • قم بتهيئة التعليق التوضيحي عن بعد باستخدام فئة DistanceAnnotation.
  • اضبط حجم التعليق التوضيحي وموضعه باستخدام طريقة setBox لتعليق المسافة.
  • أضف تعليق المسافة الذي تم إنشاؤه إلى كائن التعليقات التوضيحية.
  • احفظ ملف PDF المشروح من خلال توفير المسار باستخدام طريقة حفظ.

يوضح نموذج التعليمات البرمجية التالي كيفية إضافة تعليق توضيحي عن بعد إلى مستند PDF باستخدام Java.

// الشرح عن بعد باستخدام جافا
final Annotator annotator = new Annotator("document.pdf");
// الشرح عن المسافة
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
// أضف إلى المستند
annotator.add(area);
annotator.save("path/annotated-with-distance.pdf");

كود كامل

للتلخيص ، إليك كود Java مع الإخراج الذي يعرض جميع التعليقات التوضيحية والرسائل المضافة مع الردود باستخدام كود Java المذكور.

تمت إضافة التعليقات التوضيحية إلى ملف PDF

تضيف الكود التالي أدناه ، سهم ، مستطيل ، قطع ناقص ، تعليقات توضيحية عن بعد ، رسائل ، وردود على ملف PDF.

// أضف العديد من التعليقات التوضيحية إلى ملف PDF باستخدام Java
// إضافة سهم ، ومساحة ، وبيضاوي (قطع ناقص) ، وشروح المسافة إلى ملف PDF مع الرسائل والردود باستخدام جافا
final Annotator annotator = new Annotator(Constants.INPUT);
// إعداد الردود
Reply reply1 = new Reply();
reply1.setComment("Please look in to these issues.");
reply1.setRepliedOn(Calendar.getInstance().getTime());

Reply reply2 = new Reply();
reply2.setComment("Change Description");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply3 = new Reply();
reply2.setComment("On-Premises APIs");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply4 = new Reply();
reply2.setComment("Add images as well.");
reply2.setRepliedOn(Calendar.getInstance().getTime());

java.util.List<Reply> replies = new ArrayList<Reply>();
replies.add(reply1);
replies.add(reply2);
replies.add(reply3);
replies.add(reply4);
// تعليق توضيحي على شكل سهم ==================================
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(560, 250, 60, -60));
arrow.setCreatedOn(Calendar.getInstance().getTime());
arrow.setMessage("This image is little upwards.");
arrow.setOpacity(0.7);
arrow.setPenColor(-3407872);
arrow.setPenWidth((byte) 2);
arrow.setReplies(replies.subList(0, 1));
// تعليق توضيحي للمنطقة ====================================
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
area.setReplies(replies.subList(1, 2));
// تعليق توضيحي بيضاوي أو ناقص ========================
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
ellipse.setCreatedOn(Calendar.getInstance().getTime());
ellipse.setMessage("Shows all the available Annotation APIs.");
ellipse.setOpacity(0.7);
ellipse.setPenColor(-16034924);
ellipse.setPenStyle(PenStyle.Dot);
ellipse.setPenWidth((byte) 3);
ellipse.setReplies(replies.subList(2, 3));
// الشرح عن المسافة ================================
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
distance.setCreatedOn(Calendar.getInstance().getTime());
distance.setMessage("This is the heading area");
distance.setOpacity(0.7);
distance.setPenColor(-21197);
distance.setPenStyle(PenStyle.Solid);
distance.setPenWidth((byte) 1);
distance.setReplies(replies.subList(3, 4));
// إضافة التعليقات التوضيحية =================================
annotator.add(arrow);
annotator.add(area);
annotator.add(ellipse);
annotator.add(distance);
// حفظ ملفات PDF المشروحة ===============================
annotator.save(outputPath);
annotator.dispose();

إزالة التعليقات التوضيحية من PDF في Java

توضح الخطوات التالية كيفية إزالة جميع التعليقات التوضيحية من ملفات PDF في Java.

  • قم بتحميل مستند PDF باستخدام فئة Annotator.
  • تهيئة خيارات الحفظ باستخدام فئة SaveOptions.
  • عيّن أنواع التعليقات التوضيحية إلى بلا.
  • احفظ ملف PDF بعد إزالة جميع التعليقات التوضيحية ، عن طريق توفير المسار باستخدام طريقة حفظ.

يزيل كود Java التالي التعليقات التوضيحية من ملف PDF.

// قم بإزالة جميع التعليقات التوضيحية من مستند PDF باستخدام Java
final Annotator annotator = new Annotator("document.pdf");
SaveOptions saveOptions = new SaveOptions();
saveOptions.setAnnotationTypes(AnnotationType.None);
// احفظ ملف PDF بدون المزيد من التعليقات التوضيحية فيه.
annotator.save("path/annotations-removed.pdf", saveOptions);
annotator.dispose();

استنتاج

باختصار ، لقد تعلمت كيفية إضافة التعليقات التوضيحية إلى PDF داخل تطبيقات Java. علاوة على ذلك ، رأيت كيفية إزالة جميع التعليقات التوضيحية من أي ملف PDF. الآن ، يجب أن تكون واثقًا من إنشاء تطبيق Java الخاص بملحق المستندات. يمكنه دعم أنواع مختلفة من التعليقات التوضيحية باستخدام GroupDocs.Annotation for Java.

لمزيد من التفاصيل والخيارات والأمثلة ، يمكنك زيارة التوثيق ومستودع GitHub. لمزيد من الاستفسارات ، اتصل بالدعم على المنتدى.

أنظر أيضا