Aspose.PDF FOSS for Java ir MIT licences Java bibliotēka PDF dokumentu izveidei un apstrādei. Tā nodrošina visaptverošu Document klasi kā galveno piekļuves punktu, kā arī pilnīgu anotāciju, interaktīvu veidlapu lauku, lapu manipulācijas, metadatu un PDF/A atbilstības validācijas pārklājumu.
Bibliotēka nodrošina 527 klases, kas aptver pilnu PDF specifikāciju: dokumenta struktūru caur Document, Page un PageCollection; annotācijas caur Annotation hierarhiju (iekļaujot WidgetAnnotation, FreeTextAnnotation un HighlightAnnotation); interaktīvas formas ar Form, ButtonField, CheckboxField un RadioButtonField; lapas renderēšanu caur BmpDevice; un PDF/A atbilstības pārbaudi caur ActionRules un ActionFixes. Šifrēšana tiek nodrošināta caur AESCipher CBC režīmā.
Pievienojiet Aspose.PDF FOSS savam Maven projektam, izmantojot groupId org.aspose un artifactId aspose-pdf. Bibliotēkai ir vajadzīgs Java 11 vai jaunāks, un tā ir pilnīgi MIT licencēta. Lai uzzinātu par uzņēmuma funkcijām un atbalstu, skatiet Aspose.PDF for Java — Enterprise Product.
Document klasi, lai izveidotu jaunas PDF dokumentus. Esošos dokumentus var piekļūt, izmantojot Document(filePath) vai Document(stream) konstruktorus.PageCollection. Katrs Page atklāj MediaBox, CropBox, rotāciju, resursus un satura operatorus.DocumentInfo un XmpMetadata.getParser(), getCatalog() un getTrailer().getEmbeddedFiles().Document un piepildot lapas.PdfFileEditor un Page API.Annotation klase ir pamats visām anotācijām; konkrētie veidi ietver WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation un UnderlineAnnotation.Document.getForm(), lai uzskaitītu vai izveidotu ButtonField, CheckboxField un RadioButtonField instancēm.AppearanceCharacteristics — robežas krāsu, fonu, rotāciju un parakstus.FormEditor un FormElement augstākā līmeņa formu manipulācijai.ActionRules un ActionFixes.AESCipher, CBC režīmā (AESCipher.encrypt(key, data) un AESCipher.decrypt(key, data)).Artifact un ArtifactCollection API.PdfFileEditor.resizeContents() un ContentsResizeParameters.AnnotationRules un ActionRules.AESCipher, lai šifrētu datu sekcijas, kas iegultas dokumenta plūsmās.Artifact objektus, kas pārstāv ūdenszīmes un lapas dekorācijas.ActionFixes un AnnotationFixes, lai esošie dokumenti atbilstu PDF/A-1b arhīva standartiem.Izveidojiet jaunu dokumentu, pievienojiet lapu un pievienojiet logrīka anotāciju ar stilizāciju.
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");
}
Pievienojiet radio pogu grupu dokumenta veidlapai un izvēlieties vērtību programmatiski.
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");
}
Piekļūstiet esošam dokumentam un nolasiet pirmās lapas media box dimensijas.
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);
}