HTML
JPG
PDF
XML
DOCX
PDF
العمل مع التعليقات التوضيحية في PDF عبر SDK Java
واجهة برمجة التطبيقات لإدارة التعليقات التوضيحية في مستندات PDF باستخدام Java.
Get Startedكيفية العمل مع التعليقات التوضيحية في مستندات PDF باستخدام Cloud Java SDK
من أجل العمل مع التعليقات التوضيحية في مستندات PDF عبر Cloud Java SDK ، سنستخدم Aspose.PDF Cloud Java SDK يتيح لك هذا الـ SDK السحابي إنشاء تطبيقات صانع PDF ومحرّره ومحوله المستندات السحابية بسهولة باستخدام لغة Java لمختلف المنصات السحابية. افتح Repository مدير الحزم، ابحث عن Aspose.PDF Cloud ثم قم بالتثبيت. يمكنك أيضًا استخدام الأمر التالي من وحدة تحكم مدير الحزم لتثبيته باستخدام Maven.
أضف مستودع Aspose Cloud إلى ملف pom.xml الخاص بتطبيقك
إضافة مستودع Aspose Cloud
<repositories>
<repository>
<id>aspose-cloud</id>
<name>Aspose Cloud Repository</name>
<url>https://releases.aspose.cloud/java/repo/</url>
</repository>
</repositories>
لتثبيت مكتبة عميل API في مستودع Maven المحلي الخاص بك، ما عليك سوى تنفيذ الأمر التالي:
التثبيت من Github
mvn clean install
لنشره في مستودع Maven بعيد بدلاً من ذلك، قم بتكوين إعدادات المستودع ثم نفّذ الأمر التالي:
نشر مستودع Maven
mvn clean deploy
خطوات إضافة التعليقات التوضيحية باستخدام Java SDK
يمكن لمطوري Aspose.PDF Cloud تحميل وإضافة التعليقات التوضيحية إلى مستندات PDF بسهولة في بضع أسطر من الشيفرة فقط.
- يحمّل ملف PDF.
- ينشئ صندوق نص مصمم (مع الخطوط والألوان والمحاذاة).
- يرسل التعليق التوضيحي إلى الصفحة المحددة.
- يقوم بتنزيل المستند المعدل للاستخدام المحلي.
هذا المثال يوضح إضافة التعليقات التوضيحية إلى مستند PDF
package com.aspose.asposecloudpdfusecases.annotations;
import java.io.File;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.util.ArrayList;
import java.util.List;
import com.aspose.asposecloudpdf.api.PdfApi;
import com.aspose.asposecloudpdf.model.AsposeResponse;
import com.aspose.asposecloudpdf.model.Color;
import com.aspose.asposecloudpdf.model.FreeTextAnnotation;
import com.aspose.asposecloudpdf.model.FreeTextIntent;
import com.aspose.asposecloudpdf.model.HorizontalAlignment;
import com.aspose.asposecloudpdf.model.Justification;
import com.aspose.asposecloudpdf.model.Rectangle;
import com.aspose.asposecloudpdf.model.TextStyle;
public class AnnotationAddText {
public static void Create() {
String REMOTE_FOLDER = "Your_Temp_Pdf_Cloud";
String LOCAL_FOLDER = "c:\\Samples";
String PDF_DOCUMENT = "sample.pdf";
String PDF_OUTPUT = "annotation_add_freetext_output.pdf";
Integer PAGE_NUMBER = 1;
String NEW_UL_ANNOTATION_TEXT = "NEW FREE TEXT ANNOTATION";
String NEW_UL_ANNOTATION_DESCRIPTION = "This is a sample free text annotation";
String NEW_UL_ANNOTATION_SUBJECT = "Free Text Box Subject";
String NEW_UL_ANNOTATION_CONTENTS = "Free text annotation sample contents";
try {
PdfApi pdfApi = new PdfApi(API_KEY, API_SECRET);
// upload local PDF file to remote storage
File file = new File(Path.of(LOCAL_FOLDER, PDF_DOCUMENT).toString());
pdfApi.uploadFile(Path.of(REMOTE_FOLDER , PDF_DOCUMENT).toString(), file, null);
System.out.println(String.format("File '%s' successfully uploaded!", Path.of(LOCAL_FOLDER, PDF_DOCUMENT).toString()));
TextStyle textStyle = new TextStyle();
textStyle.setFontSize(20.);
textStyle.setForegroundColor(new Color().A(255).G(255));
textStyle.setBackgroundColor(new Color().A(255).R(255));
FreeTextAnnotation annotation = new FreeTextAnnotation();
annotation.setName("Free_Text_Annotation");
annotation.setRect(new Rectangle().LLX(100.).LLY(350.).URX(450.).URY(400.));
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.setIntent(FreeTextIntent.FREETEXTTYPEWRITER);
annotation.setRichText(NEW_UL_ANNOTATION_TEXT);
annotation.setSubject(NEW_UL_ANNOTATION_SUBJECT);
annotation.setContents(NEW_UL_ANNOTATION_CONTENTS);
annotation.setTitle(NEW_UL_ANNOTATION_DESCRIPTION);
annotation.setZindex(1);
annotation.setJustification(Justification.CENTER);
annotation.setTextStyle(textStyle);
annotation.setModified("11/20/2025 00:00:00.000 AM");
List<FreeTextAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
AsposeResponse response = pdfApi.postPageFreeTextAnnotations(PDF_DOCUMENT, PAGE_NUMBER, annotations, null, REMOTE_FOLDER);
if (response.getCode() != 200)
System.err.println("Error: unexpected error when adding annotation! '" + response.getStatus() + "'");
else{
// download changed PDF file from remote folder...
File f = pdfApi.downloadFile(Path.of(REMOTE_FOLDER , PDF_DOCUMENT).toString(), null, null);
java.nio.file.Files.copy(Path.of(f.getPath()), Path.of(LOCAL_FOLDER, PDF_OUTPUT), StandardCopyOption.REPLACE_EXISTING);
System.out.println(String.format("File '%s' successfully dowloaded!", Path.of(LOCAL_FOLDER, PDF_OUTPUT).toString()));
System.out.println("Successfully added annotation in document ! '" + PDF_OUTPUT + "'");
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}