בלוג זה הוא המשך של הבלוג הקודם שלנו, שבו הדגשנו כמה תכונות מרגשות של Aspose.PDF Cloud SDK עבור Java כיצד להוסיף הדגשה או טקסט מחיקה, ולהוסיף הערות קו או עיגול ב-PDF באמצעות Java REST API . במאמר זה, אנו נדון במיוחד בפרטים על הוספת טקסט, פוליליין, הערות מפותלות והערות מצורף בתוך מסמכי PDF באמצעות שפת התכנות של Java.
Aspose.PDF Cloud הוא REST API המאפשר למשתמשים ליצור, לתפעל ולעבד קבצי PDF קיימים ל[פורמטים נתמכים של מסמכים] אחרים 3. ניתן לגשת ל-Cloud API באמצעות שתי הגישות הבאות:
- גש ל-API באמצעות פקודות cURL
- גש ל-API בשפת התכנות Java
בואו נדון עוד בהוספת הערות שונות למסמכי PDF באמצעות פקודות cURL וקוד Java.
הוסף הערות באמצעות הפקודה cURL
פקודות cURL הן אחת הדרכים הקלות והמגניבות ביותר לגשת ל- REST APIs. אז בואו נדבר על הוספת ההערות השונות באמצעות פקודות cURL. שים לב שכל API מאפשר לך גם לגשת לאחסון הענן שבו ניתן לאחסן קבצים לעיבוד, כך כדי להבטיח שלמות הנתונים, ממשקי ה-API שלנו נגישים רק לאנשים מורשים. לכן, תחילה עליך לבקר בAspose.Cloud Dashboard ואם יש לך חשבון GitHub או Google, פשוט הירשם. אחרת, לחץ על הלחצן צור חשבון חדש וספק את המידע הנדרש. כעת היכנס ללוח המחוונים באמצעות אישורים, הרחב את הקטע יישומים מלוח המחוונים וגלול מטה אל הקטע אישורי לקוח כדי לראות את פרטי זיהוי הלקוח ופרטי סוד הלקוח.
כעת, השלב הבא הוא ליצור JSON Web Token (JWT) כך שממשקי ה-API יהיו נגישים דרך שורת הפקודה.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=7042694c-5251-4aba-83c9-e81e7518724f&client_secret=db246d4742e8cd22e7266c9391992689" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
הערת טקסט
הערת טקסט היא הערה המצורפת למיקום מסוים במסמך PDF. כשהוא סגור, ההערה מוצגת כסמל; כאשר הוא נפתח, הוא אמור להציג חלון מוקפץ המכיל את טקסט ההערה בגופן ובגודל שנבחר על ידי הקורא. כדי להוסיף את הערת הטקסט, עלינו להשתמש ב-API PostPageTextAnnotation. השתמש בפקודה cURL הבאה כדי להוסיף הערת טקסט עם סמל הערה.
curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithBookmarks.pdf/pages/1/annotations/text" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "[{ \"Color\": { \"A\": 0, \"R\": 0xDA, \"G\": 0xA5, \"B\": 0x20 }, \"Contents\": \"Hello World \", \"Modified\": \"05/26/2021 03:10:00.000 PM\", \"Id\": \"1\", \"Flags\": [ \"Default\" ], \"Name\": \"string\", \"Rect\": { \"LLX\": 100, \"LLY\": 800, \"URX\": 100, \"URY\": 100 }, \"PageIndex\": 1, \"ZIndex\": 1, \"HorizontalAlignment\": \"Center\", \"VerticalAlignment\": \"Center\", \"CreationDate\": \"string\", \"Subject\": \"Subject of Annotation\", \"Title\": \"Annotation Title\", \"RichText\": \"string\", \"State\": \"Undefined\", \"Open\": true, \"Icon\": \"Note\" }]"
ניתן להוריד את קובצי PDF לדוגמה המשמשים בדוגמה לעיל מהקישורים הבאים
הערת פוליליין
הערות הפוליליין משמשות לציור ידנית של פולי קווים על דף. הם יכולים להכיל כל מספר של צלעות המוגדרות על ידי קודקודי הפוליליין. הערות Polyline עם צבע מילוי שקוף ניתנות לבחירה רק סביב הקווים הגלויים שלהן. ניתן להוסיף את ההערות Polyline גם באמצעות PostPagePolyLineAnnotations API.
curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/pages/1/annotations/polyline" \
-H "accept: application/json" \
-H "authorization: Bearer " \
-H "Content-Type: application/json" \
-d "[ { \"Color\": { \"A\": 0, \"R\": 122, \"G\": 132, \"B\": 255 }, \"Contents\": \"Hello World...\", \"Modified\": \"05/26/2021 03:10:00.000 PM\", \"Id\": \"1\", \"Flags\": [ \"Default\" ], \"Name\": \"Polyline\", \"Rect\": { \"LLX\": 100, \"LLY\": 200, \"URX\": 150, \"URY\": 250 }, \"PageIndex\": 1, \"ZIndex\": 1, \"HorizontalAlignment\": \"Center\", \"VerticalAlignment\": \"Center\", \"CreationDate\": \"05/26/2021 03:10:00.000 PM\", \"Subject\": \"Subject of Annotation\", \"Title\": \"Title of Annotation\", \"RichText\": \"<?xml version=\\\"1.0\\\"?><body xmlns=\\\"http://www.w3.org/1999/xhtml\\\" xmlns:xfa=\\\"http://www.xfa.org/schema/xfa-data/1.0/\\\" xfa:APIVersion=\\\"Acrobat:7.0.0\\\" xfa:spec=\\\"2.0.2\\\" ><span style=\\\"text-decoration:;font-size:10.0pt\\\">Contents</span></body>\", \"InteriorColor\": { \"A\": 255, \"R\": 120, \"G\": 110, \"B\": 255 }, \"StartingStyle\": \"Circle\", \"EndingStyle\": \"OpenArrow\", \"Intent\": \"PolyLineDimension\", \"Vertices\": [ { \"X\": 164.611, \"Y\": 499.629 }, { \"X\": 192.858, \"Y\": 509.857 }, { \"X\": 226.461, \"Y\": 493.785 } ] }]"
הערה מתפתלת
ההערות המפותלות או המשוננות בקו תחתון עוזרות להדגיש את המידע בתוך המסמך. ניתן להוסיף אותם באמצעות PostPageSquigglyAnnotations API. הפקודה להלן עוזרת לך להוסיף הערת Squiggly למסמך ה-PDF.
curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/pages/1/annotations/squiggly" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "[ { \"Color\": { \"A\": 255, \"R\": 120, \"G\": 123, \"B\": 150 }, \"Contents\": \"A squiggly Annotation\", \"Modified\": \"05/26/2021 03:10:00.000 PM\", \"Id\": \"1\", \"Flags\": [ \"Default\" ], \"Name\": \"First Annotation\", \"Rect\": { \"LLX\": 100, \"LLY\": 300, \"URX\": 120, \"URY\": 330 }, \"PageIndex\": 1, \"ZIndex\": 1, \"HorizontalAlignment\": \"Center\", \"VerticalAlignment\": \"Center\", \"CreationDate\": \"05/26/2021 03:10:00.000 PM\", \"Subject\": \"Subject \", \"Title\": \"Title of Squiggly\", \"Starting\": { \"X\": 162.663, \"Y\": 654.5 }, \"StartingStyle\": \"Circle\", \"Ending\": { \"X\": 230.845, \"Y\": 654.5 }, \"EndingStyle\": \"OpenArrow\", \"InteriorColor\": { \"A\": 255, \"R\": 220, \"G\": 220, \"B\": 220 }, \"LeaderLine\": 10, \"LeaderLineExtension\": 5, \"LeaderLineOffset\": 2.5, \"ShowCaption\": true, \"CaptionOffset\": { \"X\": 7, \"Y\": 8 }, \"CaptionPosition\": \"Top\", \"Intent\": \"LineArrow\",\"RichText\": \"string\", \"QuadPoints\": [ { \"X\": 100, \"Y\": 200 } ] }]"
ביאור מצורף
ניתן להוסיף קבצים שונים כהערות קבצים מצורפים למסמך ה-PDF וכדי למלא את הדרישה הזו, ניתן להשתמש ב-API PostPageFileAttachmentAnnotations. בצע את הפקודה cURL הבאה כדי לצרף קובץ קיים למסמך PDF. בדוגמה שלנו, הקובץ בשם PdfWithTable.pdf (כבר זמין באחסון בענן) משמש כקובץ מצורף.
curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithBookmarks.pdf/pages/1/annotations/fileattachment" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "[ { \"Color\": { \"A\": 255, \"R\": 120, \"G\": 120, \"B\": 120 }, \"Contents\": \"Content\", \"Modified\": \"05/26/2021 03:10:00.000 PM\", \"Id\": \"1\", \"Flags\": [ \"Default\" ], \"Name\": \"FileAttachment\", \"Rect\": { \"LLX\": 100, \"LLY\": 200, \"URX\": 120, \"URY\": 2200 }, \"PageIndex\": 1, \"ZIndex\": 0, \"HorizontalAlignment\": \"Center\", \"VerticalAlignment\": \"Top\", \"CreationDate\": \"05/26/2021 03:10:00.000 PM\", \"Subject\": \"Subject\", \"Title\": \"Title\", \"RichText\": \"string\", \"Icon\": \"PushPin\", \"Opacity\": 0, \"FileDescription\": \"string\", \"FileName\": \"PdfWithTable.pdf\", \"FilePath\": \"PdfWithTable.pdf\" }]"
הוסף הערות באמצעות Java
מלבד פקודות cURL, גישה נוספת לשימוש בממשקי הענן שלנו היא לגשת אליהם באמצעות ערכות SDK לתכנות. פיתחנו את ערכות התכנות לשפות תכנות פופולריות. לכן, כדי לעבוד עם הערות ב-PDF באמצעות שפת Java, נסה להשתמש ב-Aspose.PDF Cloud SDK עבור Java.
השלב הראשון הוא התקנת ה-SKD על המערכת. ה-Cloud SDK זמין להורדה ב-Maven ו-GitHub. כעת הוסף את הפרטים הבאים בקובץ pom.xml שלך כדי להוריד ולהשתמש ב-Aspose.Pdf.jar בפרויקט הבנייה שלך ב-Maven.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf-cloud</artifactId>
<version>21.1.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
למידע נוסף, בקר בכתובת כיצד להתקין ערכות SDK של Aspose.Cloud.
הערות טקסט
להלן השלבים להוספת הערות טקסט למסמכי PDF.
- הצעד הראשון הוא ליצור אובייקט PdfApi שבו אנו מספקים ClientID ו-ClientSecret כארגומנטים
- לאחר מכן אנו יוצרים את האובייקט Rectangle שבו מוסיפים את ההערה
- LLX - קואורדינטת X של הפינה השמאלית התחתונה.
- LLY - Y - קואורדינטה של הפינה השמאלית התחתונה.
- URY - X - קואורדינטה של הפינה הימנית העליונה.
- URY - Y - קואורדינטה של הפינה הימנית העליונה.
- צור אובייקט TextAnnotation שבו אנו מגדירים יישור באמצעות שיטת setHorizontalAlignment(..).הגדר את הנושא בשיטת setSubject(…), את מצב ברירת המחדל בשיטת setState(…) וכו'
- לאחר מכן צור את האובייקט של ArrayList<> מסוג TextAnnotation והוסף אליו את האובייקט TextAnnotation שנוצר לעיל
- לבסוף, קרא ל-postPageTextAnnotations(…) שבו אנו מעבירים את שם קובץ ה-PDF הקלט, מספר העמודים ו- Annotations ArrayList שנוצרו לעיל כארגומנטים
// קבל ClientID ו-ClientSecret מ-https://dashboard.aspose.cloud/
String clientId = "7042694c-5251-4aba-83c9-e81e7518724f";
String clientSecret = "db246d4742e8cd22e7266c9391992689";
// ליצור מופע PDFApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// הזנת מסמך PDF
String name = "PdfWithTable.pdf";
// טען את הקובץ מהמערכת המקומית
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// העלה את הקובץ לאחסון בענן
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
// מספר עמוד שבו יש להוסיף הערה
int pageNumber = 1;
// צור אובייקט מלבן שבו מוסיפים הערה
Rectangle rect = new Rectangle()
.LLX(100.)
.LLY(600.)
.URX(200.)
.URY(650.);
// צור מערך רשימה של דגלי הערות
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
// צור אובייקט TextAnnotation
TextAnnotation textAnnotation = new TextAnnotation();
textAnnotation.setName("Annotation Name");
textAnnotation.setRect(rect);
textAnnotation.setFlags(flags);
textAnnotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
// הגדר את התוכן שיוצג בתוך הערה
textAnnotation.contents("Hello World...");
// הגדר את הסמל להערה
textAnnotation.icon(TextIcon.KEY);
textAnnotation.setSubject("Text Box Subj");
textAnnotation.setZindex(1);
// מצב ברירת המחדל של אובייקט הערה
textAnnotation.setState(AnnotationState.COMPLETED);
// צור ListArray של TextAnnotation
List<TextAnnotation> annotations = new ArrayList<>();
// הוסף לעיל שנוצר TextAnnotation למופע רשימה
annotations.add(textAnnotation);
// קרא את השיטה כדי להוסיף הערה לקובץ PDF
AsposeResponse response = pdfApi.postPageTextAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());
הערות פוליליין
ה-Cloud SDK מספק גם את אותן יכולות להוספת הערות Polyline למסמך PDF. להלן השלבים וקטע הקוד למילוי דרישה זו.
- ראשית, עלינו ליצור מופע PdfApi ולהעלות את קובץ המקור לאחסון בענן.
- צור ArrayList מסוג Point המגדיר את הנקודות בהן יצוירו הפוליליינים.
- השלב הבא הוא יצירת אובייקט PolyLineAnnotation בו אנו מגדירים את האזור המלבני ומעבירים Points ListArray לשיטת setVertices(…).
- כדי להגדיר את הצבע הפנימי, השתמשו בשיטה setInteriorColor(…) והעבירו את המופע Color כארגומנט.
- כעת קרא לשיטות startStyle(…) ו-endingStyle(…) כדי להגדיר את סגנון ההתחלה והסיום של ההערה. שיטות אלו לוקחות ערך מספירת LineEnding כארגומנטים.
- לבסוף, קרא לשיטת postPagePolyLineAnnotations(…) של המחלקה PdfApi כדי להציג Annotation בתוך מסמך ה-PDF.
// קבל ClientID ו-ClientSecret מ-https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
// ליצור מופע PDFApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// הזנת מסמך PDF
String name = "PdfWithTable.pdf";
// טען את הקובץ מהמערכת המקומית
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// העלה את הקובץ לאחסון בענן
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
// מספר עמוד עבור קובץ הקלט שבו יתווסף ביאור
int pageNumber = 1;
// אזור מלבני עבור ההערה
Rectangle rect = new Rectangle()
.LLX(100.)
.LLY(600.)
.URX(200.)
.URY(650.);
// ציין את הקודקודים עבור הביאור
List<Point> vertices = new ArrayList();
vertices.add(new Point().X(10.).Y(10.));
vertices.add(new Point().X(20.).Y(10.));
vertices.add(new Point().X(10.).Y(20.));
vertices.add(new Point().X(10.).Y(10.));
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
// צור אובייקט PolyLineAnnotation
PolyLineAnnotation annotation = new PolyLineAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
// הגדר את היישור האופקי של הערה
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
// ליצור אובייקט צבעוני
Color color = new Color();
color.setA(255);
color.setR(120);
color.setG(140);
color.setB(130);
// הגדר את הצבע הפנימי עבור מופע הערות
annotation.setInteriorColor(color);
annotation.setVertices(vertices);
// ציין את סגנון ההתחלה להערה
annotation.startingStyle(LineEnding.OPENARROW);
// הגדר את סגנון הסיום להערה
annotation.endingStyle(LineEnding.SQUARE);
List<PolyLineAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
// קרא את השיטה כדי להוסיף הערת Polyline לעמוד הראשון של המסמך
AsposeResponse response = pdfApi.postPagePolyLineAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());
הערות מפותלות
מחלקה נפרדת בשם SquigglyAnnotation משמשת להוספת הערת Squiggly למסמך ה-PDF. ניתן להשתמש בקטע הקוד המופיע למטה כדי להוסיף הערות Squiggly לקובץ ה-PDF הזמין באחסון בענן.
// קבל ClientID ו-ClientSecret מ-https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
// ליצור מופע PDFApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// הזנת מסמך PDF
String name = "PdfWithTable.pdf";
// טען את הקובץ מהמערכת המקומית
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// העלה את הקובץ לאחסון בענן
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
// מספר עמוד עבור קובץ הקלט שבו יתווסף ביאור
int pageNumber = 1;
// אזור מלבני עבור ההערה
Rectangle rect = new Rectangle()
.LLX(100.)
.LLY(600.)
.URX(200.)
.URY(650.);
// ציין את הקודקודים עבור ההערה
List<Point> vertices = new ArrayList();
vertices.add(new Point().X(10.).Y(10.));
vertices.add(new Point().X(20.).Y(10.));
vertices.add(new Point().X(10.).Y(20.));
vertices.add(new Point().X(10.).Y(10.));
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
// צור אובייקט SquigglyAnnotation
SquigglyAnnotation annotation = new SquigglyAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
annotation.setModified("28/05/2021 00:00:00.000 AM");
// ליצור אובייקט צבעוני
Color color = new Color();
color.setA(155);
color.setR(120);
color.setG(140);
color.setB(130);
// הגדר את הצבע הפנימי עבור מופע הערות
annotation.color(color);
// להגדיר נקודות ביאור
annotation.setQuadPoints(vertices);
List<SquigglyAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
// קרא את השיטה כדי להוסיף הערת Squiggly לעמוד הראשון של המסמך
AsposeResponse response = pdfApi.postPageSquigglyAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());
הערות קבצים מצורפים
כדי להוסיף את ההערה של הקובץ המצורף, נסה להשתמש בקטע הקוד הבא. תיאור הקוד זהה לתיאור המשותף בסעיפים לעיל, אלא שעליך להשתמש באובייקט FileAttachmentAnnotation כדי למלא את הדרישה הזו.
// קבל ClientID ו-ClientSecret מ-https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
// ליצור מופע PDFApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// הזנת מסמך PDF
String name = "PdfWithTable.pdf";
// טען את הקובץ מהמערכת המקומית
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// העלה את הקובץ לאחסון בענן
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
// מספר עמוד עבור קובץ הקלט שבו יתווסף ביאור
int pageNumber = 1;
// אזור מלבני עבור ההערה
Rectangle rect = new Rectangle()
.LLX(100.)
.LLY(100.)
.URX(200.)
.URY(200.);
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
// צור אובייקט FileAttachmentAnnotation
FileAttachmentAnnotation annotation = new FileAttachmentAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
annotation.setModified("28/05/2021 00:00:00.000 AM");
// נתיב הקובץ המצורף
annotation.setFilePath("images.jpeg");
// שם הקובץ המצורף
annotation.setFileName("images.jpeg");
// צור מופע רשימה של FileAttachment
List<FileAttachmentAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
// קרא את השיטה כדי להוסיף הערת FileAttachment לעמוד הראשון של המסמך
AsposeResponse response = pdfApi.postPageFileAttachmentAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());
מַסְקָנָה
במאמר זה, דנו בשלבים ובפרטים הקשורים להוספת הערות טקסט, פוליליין, Squiggly ו-File Attachment למסמך ה-PDF. מכיוון ש-SDK שלנו בענן הם קוד פתוח, אתה יכול להוריד את קוד המקור המלא מ-GitHub. המאגר מכיל גם דוגמאות שימושיות אחרות כיצד להשתמש ב- Java Cloud SDK כדי ליצור ולתפעל קבצי PDF קיימים. אם יש לך שאילתות קשורות כלשהן, אל תהסס לפנות אלינו דרך פורומים של תמיכת לקוחות בחינם.
מאמרים קשורים
אנו ממליצים בחום לבקר במאמרים הבאים: