ชั้นหน้าตึกใน Aspose. PDF FOSS สําหรับ Java
Aspose.PDF FOSS for Java includes a facades layer — a set of high-level, task-focused คลาสที่ให้การปฏิบัติตาม PDF โดยไม่จําเป็นต้องเดินทาง ของรูปแบบของ PDF object ที่เต็ม ทุกคลาสหน้าต่างตามลักษณะเดียวกัน: บันทึก a เอกสาร, ทําการปฏิบัติ, จัดเก็บผล.
ทุกชั้นหน้าต่างอยู่ในตารางการเรียนรู้ของคณะกรรมการ org.aspose.pdf.facades แพ็คเกจ:
import org.aspose.pdf.facades.*;
PdfAnnotationEditor: แอ็นโนเทชั่นที่เรียบและลบ
PdfAnnotationEditor ให้การปฏิบัติในการจัดการคําอธิบายเป็นจํานวนมาก: การทําให้มันเรียบลงในเนื้อหาหน้า, ลบคําบรรยายทั้งหมด หรือลบ ประเภทการแสดงความคิดเห็นเฉพาะตามชื่อ.
try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
editor.bindPdf("annotated.pdf");
// Flatten all annotations into the page content stream
editor.flattenAnnotations();
editor.save("flat.pdf");
}
การ deleteAnnotations(annotationType) การขยายความรับการแสดงคําประกอบรหัส เช่น "Highlight" หรือ "Widget" การลบคําบรรยายเพียงชนิดนั้นเท่านั้น. countAnnotations() กลับจํานวนคําบรรยายทั้งหมดในทุกหน้า.
PdfBookmarkEditor: สร้างและลบตราหมาย
PdfBookmarkEditor จัดการต้นแบบ PDF (ตราลักษณ์) มันเปิดเผยวิธีการ สําหรับการสร้างลักษณะใหม่กับ createBookmarks(), ลบลักษณะของตราจารย์ทั้งหมดด้วย deleteBookmarks(), และการลบตราลักษณ์ตามหัวข้อด้วย deleteBookmarkByTitle().
try (PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor()) {
bookmarkEditor.bindPdf("input.pdf");
// Remove all bookmarks from the document
bookmarkEditor.deleteBookmarks();
bookmarkEditor.save("no-bookmarks.pdf");
}
การ bindPdf(document) อัตราการอุดตันรับ a Document เปิดตรงกันเอง ทําให้สามารถ การใช้ใน pipelines ที่เอกสารถูกอัตราการใส่เข้าที่ความจําแล้ว.
PdfContentEditor: การทดแทนข้อความ
PdfContentEditor รองรับการทดแทนข้อความที่เป้าหมายภายในสตรีมเนื้อหา PDF. replaceText(searchText, replaceText) แทนการเกิดของ string ทั้งหมด ในเอกสารทั้งหมด; replaceText(searchText, pageNumber, replaceText) จํากัดการทดแทนเป็นหน้าเดียว.
try (PdfContentEditor contentEditor = new PdfContentEditor()) {
contentEditor.bindPdf("template.pdf");
contentEditor.replaceText("{{CompanyName}}", "Acme Corp");
contentEditor.save("output.pdf");
}
TextReplaceOptions ตรวจสอบว่าการเปลี่ยนจะอนุรักษ์ต้นฉบับหรือไม่ แฟนต์และขนาด หรือทายาทคุณสมบัติของข้อความจากเนื้อหารอบๆ. getStamps(pageNumber) การคืนสินค้า StampInfo อัตราสําหรับตราทั้งหมดบนหน้าหนึ่ง, และ deleteStampById() ยกเลี่ยงการติดตราที่ระบุโดยตัวจําแนกของมัน.
PdfFileSecurity: การเข้ารหัสและอนุญาต
PdfFileSecurity การจัดการความปลอดภัยระดับเอกสาร รวมถึงการเข้ารหัส, การปลดรบ, และอนุญาตการเข้าถึง ตัวแปรคอนสตรั๊กเตอร์ยอมรับเส้นทางไฟล์, ธารสารหรือ การมีอยู่ Document ตัวอย่างข้างเคียงกับจุดหมายออก.
DocumentPrivilege แสดงถึงอนุญาตการเข้าสู่เอกสารที่ถูกรหัสไว้. การใช้งาน DocumentPrivilege.getForbidAll() การปฏิเสธการปฏิบัติของผู้ใช้ทั้งหมด หรือ DocumentPrivilege.getAllowAll() ให้การเข้าถึงอย่างเต็มที่.
try (PdfFileSecurity security = new PdfFileSecurity("input.pdf", "secured.pdf")) {
DocumentPrivilege privilege = DocumentPrivilege.getForbidAll();
privilege.setAllowPrint(true);
security.encryptFile("userPass", "ownerPass", privilege, KeySize.x256);
}
decryptFile(ownerPassword) ยกเลิกการเข้ารหัสเมื่อรู้คําแปลของเจ้าของ. การ Algorithm enum ให้บริการ RC4 และ AES ครอบครัวอัลโกริตม์; KeySize ระบุความยาวของกุญแจ.
PdfFileStamp: เพิ่ม Stamps และเลขหน้า
PdfFileStamp เพิ่มเท็กซ์และภาพตราไปยังหน้า PDF และสามารถอัตโนมัติ สร้างเลขหน้าที่ถูกจัดรูปแบบ การวางตําแหน่งตราโดยใช้การตั้งจุดประสาน การวางที่บนแต่ละหน้า.
try (PdfFileStamp stamp = new PdfFileStamp("input.pdf", "stamped.pdf")) {
// Add formatted page numbers to all pages
stamp.addPageNumber("Page #", PageNumberingStyle.NumeralsArabic,
0, 0, 0, 20);
}
PdfExtractor: การสกัดรูปและข้อความ
PdfExtractor ให้ API ที่ใช้ pull เพื่อการสกัดข้อความและภาพจาก เอกสาร PDF หลังจากที่ผูกเอกลักษณ์แล้ว โทรหา extractText() การกระตุ้นข้อความ การสกัดออก, แล้วซ้ํากับ hasNextPageText() และ getNextPageText():
try (PdfExtractor extractor = new PdfExtractor()) {
extractor.bindPdf("document.pdf");
extractor.extractText();
while (extractor.hasNextPageText()) {
String pageText = extractor.getNextPageText();
// Collect extracted page content
}
}
สําหรับการสกัดภาพ, extractImage() ทําให้การสกัดออก และ hasNextImage() / getNextImage(outputStream) กลับมาใช้รูปภาพที่ถอดออกมา. การ getPassword() และ setPassword() วิธีการรองรับเอกสารที่เข้ารหัส.
เริ่มต้น
เพิ่มความสัมพันธ์ของ Maven:
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>0.1.0-alpha</version>
</dependency>
ทุกคลาสหน้าต่างต้องการ Java 11 หรือหลังกว่า. Aspose. PDF FOSS สําหรับJava คือ มีใบอนุญาตจาก MIT และมีให้บริการที่ https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Java.