Aspose.PDF FOSS עבור Java הוא ספרייה Java ברישיון MIT ליצירה ולעבודה עם מסמכי PDF. היא מספקת מחלקת Document מקיפה כנקודת הכניסה המרכזית, יחד עם כיסוי מלא של הערות, שדות טופס אינטראקטיביים, מניפולציית דפים, מטא‑נתונים, ואימות תקינות PDF/A.
הספרייה חושפת 527 מחלקות המכסות את המפרט המלא של PDF: מבנה המסמך דרך Document, Page ו-PageCollection; הערות דרך היררכיית Annotation (כולל WidgetAnnotation, FreeTextAnnotation ו-HighlightAnnotation); טפסים אינטראקטיביים עם Form, ButtonField, CheckboxField ו-RadioButtonField; עיבוד דפים דרך BmpDevice; ובדיקת תאימות PDF/A דרך ActionRules ו-ActionFixes. הצפנה מסופקת דרך AESCipher במצב CBC.
הוסף את Aspose.PDF FOSS לפרויקט Maven שלך באמצעות groupId org.aspose ו‑artifactId aspose-pdf. הספרייה דורשת Java 11 או גרסה מאוחרת יותר והיא מורשית במלואה תחת רישיון MIT. לתכונות ותמיכה ארגוניות, ראה Aspose.PDF for Java — Enterprise Product.
Document כדי ליצור מסמכי PDF חדשים. ניתן לגשת למסמכים קיימים דרך בוני Document(filePath) או Document(stream).PageCollection. כל Page חושף MediaBox, CropBox, סיבוב, משאבים ומפעילי תוכן.DocumentInfo ו-XmpMetadata.getParser(), getCatalog() ו-getTrailer().getEmbeddedFiles().Document ומילוי דפים.PdfFileEditor ו-Page API.Annotation היא הבסיס לכל ההערות; סוגים קונקרטיים כוללים את WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation ו-UnderlineAnnotation.Document.getForm() כדי למנות או ליצור מופעים של ButtonField, CheckboxField ו-RadioButtonField.AppearanceCharacteristics — צבע גבול, רקע, סיבוב וכיתובים.FormEditor וב-FormElement למניפולציה של טופס ברמה גבוהה.ActionRules ו-ActionFixes.AESCipher באמצעות מצב CBC (AESCipher.encrypt(key, data) ו-AESCipher.decrypt(key, data)).Artifact ו-ArtifactCollection.PdfFileEditor.resizeContents() ו-ContentsResizeParameters.AnnotationRules ו-ActionRules.AESCipher כדי להצפין קטעי נתונים המוטמעים בזרמי מסמכים.Artifact המייצגים סימני מים וקישוטי עמוד.ActionFixes ו-AnnotationFixes כדי לגרום למסמכים הקיימים לעמוד בתקני ארכיון PDF/A-1b.צור מסמך חדש, הוסף דף, והצמד הערת וידג’ט עם עיצוב.
try (Document doc = new Document()) {
Page page = doc.getPages().add();
WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(0, 0, 100, 50));
w.getCharacteristics().setBorder(Color.fromRgb(1, 0, 0));
w.getCharacteristics().setCaption("Submit");
page.getAnnotations().add(w);
doc.save("output.pdf");
}
```java
try (Document doc = new Document()) {
Page page = doc.getPages().add();
WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(0, 0, 100, 50));
w.getCharacteristics().setBorder(Color.fromRgb(1, 0, 0));
w.getCharacteristics().setCaption("Submit");
page.getAnnotations().add(w);
doc.save("output.pdf");
}
הוסף קבוצת כפתורי רדיו לטופס מסמך ובחר ערך באופן תכנותי.
try (Document doc = new Document()) {
Page page = doc.getPages().add();
RadioButtonField radio = new RadioButtonField(page);
radio.setPartialName("choice");
radio.addOption("Option1", new Rectangle(50, 50, 70, 70));
radio.addOption("Option2", new Rectangle(50, 80, 70, 100));
doc.getForm().add(radio, 1);
radio.setValue("Option2");
doc.save("form.pdf");
}
גש למסמך קיים וקרא את ממדי תיבת המדיה של העמוד הראשון.
try (Document doc = new Document("input.pdf")) {
double width = doc.getPages().get(1).getMediaBox().getWidth();
double height = doc.getPages().get(1).getMediaBox().getHeight();
System.out.println("Page size: " + width + " x " + height);
}