1. ผลิตภัณฑ์
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Java

Aspose.PDF FOSS สำหรับ Java

สร้างและจัดการเอกสาร PDF จาก Java — พร้อมกับ annotation, ฟิลด์ฟอร์ม, การจัดการหน้า, และการปฏิบัติตาม PDF/A. มีใบอนุญาต MIT.

ไลบรารี Java ฟรีที่มีใบอนุญาต MIT สำหรับการสร้างและจัดการ PDF

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 API: ใช้คลาส Document เพื่อสร้างเอกสาร PDF ใหม่. เอกสารที่มีอยู่สามารถเข้าถึงได้ผ่านคอนสตรัคเตอร์ Document(filePath) หรือ Document(stream).
  • Page management: เพิ่ม, เข้าถึง, และแก้ไขหน้าโดยผ่าน PageCollection. แต่ละ Page เปิดเผย MediaBox, CropBox, การหมุน, ทรัพยากร, และตัวดำเนินการเนื้อหา.
  • Metadata: อ่านและเขียนเมตาดาต้าเอกสารผ่าน DocumentInfo และ XmpMetadata
  • โครงสร้าง PDF: เข้าถึงอ็อบเจกต์ PDF ที่อยู่ภายในผ่าน getParser(), getCatalog() และ getTrailer().
  • ไฟล์ที่ฝังอยู่: จัดการคอลเลกชันไฟล์ที่ฝังด้วย getEmbeddedFiles().

สถานการณ์การประมวลผลเอกสารทั่วไป

  • การสร้าง PDF: สร้างเอกสารโดยอัตโนมัติด้วยการสร้าง Document และเติมหน้าลงไป.
  • การวิเคราะห์เอกสาร: เข้าถึงไฟล์ที่มีอยู่เพื่อการตรวจสอบเมตาดาต้าหรือการนับฟิลด์ฟอร์ม.
  • การจัดการหน้า: ปรับขนาด, หมุน, หรือจัดลำดับหน้าใหม่โดยใช้ PdfFileEditor และ Page API.
  • เวิร์กโฟลว์แบบชุด: ใช้การแปลงที่สอดคล้องกันกับหลายเอกสารในกระบวนการทำงานฝั่งเซิร์ฟเวอร์.

Annotation และฟิลด์ฟอร์ม

  • Annotation hierarchy: คลาสเชิงนามธรรม Annotation เป็นฐานสำหรับการทำเครื่องหมายทั้งหมด; ประเภทที่เป็นรูปธรรมรวมถึง WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation และ UnderlineAnnotation.
  • แบบฟอร์มโต้ตอบ: เข้าถึงแบบฟอร์มเอกสารผ่าน Document.getForm() เพื่อทำการนับหรือสร้างอินสแตนซ์ของ ButtonField, CheckboxField และ RadioButtonField.
  • รูปลักษณ์ของวิดเจ็ต: ควบคุมคุณสมบัติดีไซน์ผ่าน AppearanceCharacteristics — สีขอบ, พื้นหลัง, การหมุน, และคำบรรยาย.
  • การแก้ไขแบบฟอร์ม: ใช้ FormEditor และ FormElement สำหรับการจัดการแบบฟอร์มระดับสูง

การตรวจทานเอกสารและการทำงานร่วมกัน

  • หมายเหตุการทำเครื่องหมาย: เพิ่มไฮไลท์, ขีดเส้นใต้ หรือหมายเหตุข้อความอิสระในเอกสารสำหรับกระบวนการตรวจสอบ.
  • Interactive forms: สร้างเอกสารที่สามารถกรอกได้ด้วยปุ่มวิทยุ, กล่องทำเครื่องหมาย, และปุ่มกดเพื่อบันทึกข้อมูล.
  • การสกัดข้อมูลฟอร์ม: อ่านค่าฟิลด์ฟอร์มที่ส่งมาเพื่อใช้ใน pipeline ฝั่งเซิร์ฟเวอร์.
  • การปฏิบัติตามข้อกำหนดการเก็บถาวร: ตรวจสอบและแก้ไขเอกสารสำหรับการเก็บถาวรระยะยาวโดยใช้ ActionRules และ ActionFixes

การรักษาความปลอดภัยและการดำเนินการเนื้อหา

  • การเข้ารหัส AES: เข้ารหัสและถอดรหัสอาร์เรย์ไบต์ของข้อมูลด้วย AESCipher โดยใช้โหมด CBC (AESCipher.encrypt(key, data) และ AESCipher.decrypt(key, data))
  • การจัดการศิลปวัตถุ: ระบุและจัดการส่วนหัว, ส่วนท้าย, ลายน้ำ, และภาพพื้นหลังผ่าน Artifact และ ArtifactCollection APIs.
  • Content resize: ปรับเลย์เอาต์ของเนื้อหาหน้าโดยใช้ PdfFileEditor.resizeContents() และ ContentsResizeParameters.
  • การตรวจสอบการปฏิบัติตาม: ตรวจสอบ annotation และ action rules ตามมาตรฐาน PDF/A โดยใช้ AnnotationRules และ ActionRules.

กรณีการใช้งานความปลอดภัยของเอกสาร

  • ข้อมูลที่เข้ารหัส: ใช้ AESCipher เพื่อเข้ารหัสส่วนข้อมูลที่ฝังอยู่ในสตรีมของเอกสาร.
  • การปกป้องเอกสาร: ใช้การตั้งค่าความปลอดภัยสำหรับการควบคุมการเข้าถึงในกระบวนการปฏิบัติตามข้อกำหนด.
  • การใส่ลายน้ำ: ตรวจจับและจัดการวัตถุ Artifact ที่เป็นตัวแทนของลายน้ำและการตกแต่งหน้า.
  • การปฏิบัติตามมาตรฐานการเก็บถาวร: เรียกใช้ ActionFixes และ AnnotationFixes เพื่อทำให้เอกสารที่มีอยู่ตรงตามมาตรฐานการเก็บถาวร PDF/A-1b.

สร้างเอกสารพร้อม Widget Annotation

สร้างเอกสารใหม่, เพิ่มหน้า, และแนบ 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);
}
  

ทรัพยากรสนับสนุนและการเรียนรู้

 ภาษาไทย