Aspose.PDF FOSS for Java egy MIT-licencelt Java könyvtár a PDF dokumentumok létrehozásához és kezeléséhez. Átfogó Document osztályt biztosít központi belépési pontként, valamint teljes körű lefedettséget nyújt a megjegyzések, interaktív űrlapmezők, oldalmanipuláció, metaadatok és a PDF/A megfelelőség ellenőrzése terén.
A könyvtár 527 osztályt tesz elérhetővé, amelyek lefedik a teljes PDF specifikációt: dokumentumszerkezet a Document, Page és PageCollection segítségével; annotációk a Annotation hierarchián keresztül (beleértve a WidgetAnnotation, FreeTextAnnotation és HighlightAnnotation elemeket); interaktív űrlapok a Form, ButtonField, CheckboxField és RadioButtonField használatával; oldal renderelése a BmpDevice segítségével; és a PDF/A megfelelőség ellenőrzése a ActionRules és ActionFixes által. A titkosítás a AESCipher segítségével, CBC módban érhető el.
Adja hozzá a Aspose.PDF FOSS-t Maven projektjéhez a org.aspose groupId és a aspose-pdf artifactId használatával. A könyvtár Java 11 vagy újabb verziót igényel, és teljesen MIT-licencű. Vállalati funkciók és támogatás esetén lásd a Aspose.PDF for Java — Enterprise Product.
Document osztályt új PDF dokumentumok létrehozásához. A meglévő dokumentumok a Document(filePath) vagy a Document(stream) konstruktorok segítségével érhetők el.PageCollection segítségével. Minden Page elérhetővé teszi a MediaBox, CropBox, forgatást, erőforrásokat és tartalom operátorokat.DocumentInfo és XmpMetadata segítségével.getParser(), getCatalog() és getTrailer() segítségével.getEmbeddedFiles() segítségével.Document létrehozásával és oldalak feltöltésével.PdfFileEditor és a Page API használatával.Annotation osztály az összes annotáció alapja; konkrét típusok közé tartozik a WidgetAnnotation, a FreeTextAnnotation, a HighlightAnnotation és a UnderlineAnnotation.Document.getForm() segítségével férhet hozzá, hogy felsorolja vagy létrehozza a ButtonField, CheckboxField és RadioButtonField példányokat.AppearanceCharacteristics segítségével — szegélyszín, háttér, forgatás és feliratok.FormEditor és a FormElement elemeket a magasabb szintű űrlapmanipulációhoz.ActionRules és a ActionFixes használatával.AESCipher használatával CBC módban (AESCipher.encrypt(key, data) és AESCipher.decrypt(key, data)).Artifact és ArtifactCollection API-k segítségével azonosítsa és manipulálja a fejléceket, lábléceket, vízjeleket és háttérképeket.PdfFileEditor.resizeContents() és ContentsResizeParameters segítségével.AnnotationRules és a ActionRules használatával.AESCipher elemet az adat szakaszok titkosításához, amelyek dokumentumfolyamokba vannak beágyazva.Artifact objektumokat, amelyek vízjeleket és oldaldekorációkat képviselnek.ActionFixes és a AnnotationFixes parancsokat, hogy a meglévő dokumentumok megfeleljenek a PDF/A-1b archiválási szabványoknak.Hozzon létre egy új dokumentumot, adjon hozzá egy oldalt, és csatoljon egy widget annotációt stílussal.
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");
}
Adjon hozzá egy rádiógombcsoportot a dokumentum űrlaphoz, és válasszon ki egy értéket programozottan.
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");
}
Hozzáférés egy meglévő dokumentumhoz, és olvassa ki az első oldal média dobozának méreteit.
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);
}