Aspose.PDF FOSS for Java yra MIT licencijuota Java biblioteka, skirta kurti ir dirbti su PDF dokumentais. Ji suteikia išsamų Document klasę kaip pagrindinį įėjimo tašką, kartu su pilna anotacijų, interaktyvių formų laukų, puslapių manipuliavimo, metaduomenų ir PDF/A atitikties patikrinimo aprėptimi.
Biblioteka pateikia 527 klases, apimančias visą PDF specifikaciją: dokumentų struktūrą per Document, Page ir PageCollection; anotacijas per Annotation hierarchiją (įskaitant WidgetAnnotation, FreeTextAnnotation ir HighlightAnnotation); interaktyvias formas su Form, ButtonField, CheckboxField ir RadioButtonField; puslapių atvaizdavimą per BmpDevice; ir PDF/A atitikties tikrinimą per ActionRules ir ActionFixes. Šifravimas teikiamas per AESCipher CBC režimu.
Pridėkite Aspose.PDF FOSS į savo Maven projektą, naudodami groupId org.aspose ir artifactId aspose-pdf. Biblioteka reikalauja Java 11 arba naujesnės ir yra visiškai MIT licencijuota. Dėl įmonės funkcijų ir palaikymo žiūrėkite Aspose.PDF for Java — Enterprise Product.
Document klasę naujiems PDF dokumentams kurti. Esami dokumentai gali būti pasiekiami per Document(filePath) arba Document(stream) konstruktorius.PageCollection. Kiekvienas Page atskleidžia MediaBox, CropBox, sukimosi, išteklių ir turinio operatorius.DocumentInfo ir XmpMetadata.getParser(), getCatalog() ir getTrailer().getEmbeddedFiles().Document ir užpildydami puslapius.PdfFileEditor ir Page API.Annotation klasė yra pagrindas visoms anotacijoms; konkretūs tipai apima WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation ir UnderlineAnnotation.Document.getForm(), kad išvardintumėte arba sukurtumėte ButtonField, CheckboxField ir RadioButtonField egzempliorius.AppearanceCharacteristics — rėmelio spalvą, foną, sukimą ir antraštes.FormEditor ir FormElement aukštesnio lygio formų manipuliavimui.ActionRules ir ActionFixes.AESCipher naudojant CBC režimą (AESCipher.encrypt(key, data) ir AESCipher.decrypt(key, data)).Artifact ir ArtifactCollection APIs.PdfFileEditor.resizeContents() ir ContentsResizeParameters.AnnotationRules ir ActionRules.AESCipher, kad užšifruotumėte duomenų sekcijas, įterptas dokumento srautuose.Artifact objektus, atstovaujančius vandens žymas ir puslapio dekoracijas.ActionFixes ir AnnotationFixes, kad esami dokumentai atitiktų PDF/A-1b archyvavimo standartus.Sukurkite naują dokumentą, pridėkite puslapį ir pridėkite valdiklio anotaciją su stiliumi.
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");
}
Pridėkite radijo mygtukų grupę į dokumento formą ir pasirinkite reikšmę programiškai.
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");
}
Pasiekite esamą dokumentą ir perskaitykite pirmojo puslapio media box matmenis.
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);
}