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 และ XmpMetadatagetParser(), getCatalog() และ getTrailer().getEmbeddedFiles().Document และเติมหน้าลงไป.PdfFileEditor และ Page API.Annotation เป็นฐานสำหรับการทำเครื่องหมายทั้งหมด; ประเภทที่เป็นรูปธรรมรวมถึง WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation และ UnderlineAnnotation.Document.getForm() เพื่อทำการนับหรือสร้างอินสแตนซ์ของ ButtonField, CheckboxField และ RadioButtonField.AppearanceCharacteristics — สีขอบ, พื้นหลัง, การหมุน, และคำบรรยาย.FormEditor และ FormElement สำหรับการจัดการแบบฟอร์มระดับสูงActionRules และ ActionFixesAESCipher โดยใช้โหมด CBC (AESCipher.encrypt(key, data) และ AESCipher.decrypt(key, data))Artifact และ ArtifactCollection APIs.PdfFileEditor.resizeContents() และ ContentsResizeParameters.AnnotationRules และ ActionRules.AESCipher เพื่อเข้ารหัสส่วนข้อมูลที่ฝังอยู่ในสตรีมของเอกสาร.Artifact ที่เป็นตัวแทนของลายน้ำและการตกแต่งหน้า.ActionFixes และ AnnotationFixes เพื่อทำให้เอกสารที่มีอยู่ตรงตามมาตรฐานการเก็บถาวร PDF/A-1b.สร้างเอกสารใหม่, เพิ่มหน้า, และแนบ widget annotation พร้อมการจัดสไตล์.
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");
}
เพิ่มกลุ่มปุ่มวิทยุในแบบฟอร์มเอกสารและเลือกค่าผ่านโปรแกรม
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");
}
เข้าถึงเอกสารที่มีอยู่แล้วและอ่านขนาดของ media box ของหน้าที่หนึ่ง.
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);
}