Các Facades Layer trong Aspose.PDF FOSS cho Java
Aspose.PDF FOSS for Java includes a facades layer — a set of high-level, task-focused Các lớp học cung cấp các hoạt động nhắm mục tiêu trên tài liệu PDF mà không cần điều hướng của mô hình đối tượng PDF đầy đủ. mỗi lớp facade tuân theo cùng một mẫu: liên kết một tài liệu, thực hiện các hoạt động, tiết kiệm kết quả.
Tất cả các lớp học đều nằm trong org.aspose.pdf.facades gói :
import org.aspose.pdf.facades.*;
PdfAnnotationEditor: Flatten và Remove Annotations (Tập nhật)
PdfAnnotationEditor cung cấp các hoạt động để quản lý ghi chú trong số lượng lớn: xóa chúng vào nội dung trang, loại bỏ tất cả các ghi chú hoặc loại trừ Các loại ghi chú cụ thể theo tên.
try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
editor.bindPdf("annotated.pdf");
// Flatten all annotations into the page content stream
editor.flattenAnnotations();
editor.save("flat.pdf");
}
Các deleteAnnotations(annotationType) quá tải chấp nhận một dòng loại ghi chú như như "Highlight" hoặc "Widget" để loại bỏ chỉ các ghi chú của loại này. countAnnotations() trả về tổng số ghi chú trên tất cả các trang.
PdfBookmarkEditor: Tạo và xóa sổ sách
PdfBookmarkEditor quản lý cây xuất bản PDF (bookmarks). Nó tiết lộ các phương pháp Để tạo ra các bookmark mới với createBookmarks(),xóa tất cả các bookmark với deleteBookmarks(), và xóa sổ bằng tiêu đề với deleteBookmarkByTitle().
try (PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor()) {
bookmarkEditor.bindPdf("input.pdf");
// Remove all bookmarks from the document
bookmarkEditor.deleteBookmarks();
bookmarkEditor.save("no-bookmarks.pdf");
}
Các bindPdf(document) Lượng tải chấp nhận A Document - Khả năng trực tiếp, cho phép sử dụng trong các ống dẫn nơi tài liệu đã được tải vào bộ nhớ.
PdfContentEditor: Thay thế văn bản
PdfContentEditor Hỗ trợ thay thế văn bản nhắm mục tiêu trong các dòng nội dung PDF. replaceText(searchText, replaceText) thay thế tất cả các sự kiện của một dòng trên toàn bộ tài liệu; replaceText(searchText, pageNumber, replaceText) giới hạn việc thay thế cho một trang duy nhất.
try (PdfContentEditor contentEditor = new PdfContentEditor()) {
contentEditor.bindPdf("template.pdf");
contentEditor.replaceText("{{CompanyName}}", "Acme Corp");
contentEditor.save("output.pdf");
}
TextReplaceOptions kiểm tra xem việc thay thế có nên giữ nguyên bản gốc hay không. font và kích thước hoặc thừa hưởng các thuộc tính văn bản từ nội dung xung quanh. getStamps(pageNumber) trở lại StampInfo Đối tượng cho tất cả các nhãn trên một trang, và deleteStampById() loại bỏ một dấu hiệu cụ thể bằng cách xác định nó.
PdfFileSecurity: mã hóa và giấy phép
PdfFileSecurity quản lý bảo mật cấp tài liệu bao gồm mã hóa, giải mã, và quyền truy cập. các biến thể xây dựng chấp nhận đường file, dòng, hoặc Một hiện có Document - Điểm đến bên cạnh điểm xuất khẩu.
DocumentPrivilege đại diện cho quyền truy cập cho tài liệu mã hóa. Sử dụng DocumentPrivilege.getForbidAll() để từ chối tất cả các hoạt động của người dùng, hoặc DocumentPrivilege.getAllowAll() để cung cấp quyền truy cập đầy đủ.
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) xóa mã hóa khi mật khẩu chủ được biết. Các Algorithm Enum cung cấp RC4 và AES Gia đình Algoritm; KeySize - Tùy chọn chiều dài chìa khóa.
PdfFileStamp: Thêm các Stamp và số trang
PdfFileStamp thêm các biểu mẫu văn bản và hình ảnh vào các trang PDF và có thể tự động tạo số trang định dạng. các dấu được đặt bằng cách sử dụng tọa độ dựa trên Đặt hàng trên mỗi trang.
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: Tác giả và hình ảnh Extraction
PdfExtractor cung cấp một API dựa trên pull để lấy văn bản và hình ảnh từ PDF tài liệu. sau khi gắn một tài khoản, gọi extractText() Để kích hoạt văn bản Tích xuất, sau đó iterate với hasNextPageText() và getNextPageText():
try (PdfExtractor extractor = new PdfExtractor()) {
extractor.bindPdf("document.pdf");
extractor.extractText();
while (extractor.hasNextPageText()) {
String pageText = extractor.getNextPageText();
// Collect extracted page content
}
}
Để lấy hình ảnh, extractImage() Tạo ra sự khai thác và hasNextImage() / getNextImage(outputStream) Iterate trên các hình ảnh được lấy ra. Các getPassword() và setPassword() Phương pháp hỗ trợ các tài liệu mã hóa.
bắt đầu
Thêm sự phụ thuộc của Maven:
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>0.1.0-alpha</version>
</dependency>
Tất cả các lớp học facade yêu cầu Java 11 hoặc sau. Aspose.PDF FOSS cho Java là MIT được cấp phép và có sẵn tại https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Java.