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 project σας χρησιμοποιώντας το 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.Δημιουργήστε ένα νέο έγγραφο, προσθέστε μια σελίδα και επισυνάψτε αναφορά widget με στυλίνγκ.
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);
}