Aspose.PDF FOSS for 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 ו- API Page.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()) ```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);
}