Introduction
Aspose.PDF FOSS for Java is an MIT-licensed Java library for creating and manipulating Tài liệu PDF. Nó có sẵn trên GitHub dưới giấy phép MIT và không yêu cầu API Key Thư viện trình bày 527 lớp học bao gồm toàn bộ PDF - Chi tiết từ cấu trúc tài liệu đến ghi chú, hình thức tương tác, trang rendering, và các hoạt động mã hóa.
Thư viện được xây dựng xung quanh Document lớp, đó là điểm đầu vào trung tâm cho tất cả các hoạt động PDF. tạo tài liệu mới, truy cập trang qua PageCollection, Đọc Metadata qua DocumentInfo,hoặc di chuyển qua catalogue getCatalog() và getTrailer() Tất cả bắt đầu với một Document trường hợp .
Khởi động nhanh
Thêm sự phụ thuộc của Maven cho bạn pom.xml:
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>0.1.0-alpha</version>
</dependency>
Thư viện tổ chức tất cả các lớp API công cộng dưới ba gói. Thêm những tuyên bố gói này vào bất kỳ tệp nguồn Java nào sử dụng API:
// Core API — Document, Page, Annotation, Form, etc.
org.aspose.pdf.*
// Annotation subclasses
org.aspose.pdf.annotations.*
// Facade classes — PdfFileEditor, PdfAnnotationEditor, etc.
org.aspose.pdf.facades.*
Aspose.PDF FOSS for Java requires Java 11 or later. The source code and issue tracker Có sẵn tại https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Java.
bắt đầu
Tạo và lưu một tài liệu tối thiểu để xác minh cài đặt:
try (Document doc = new Document()) {
PageCollection pages = doc.getPages();
Page page = pages.add();
doc.save("output.pdf");
System.out.println("Pages: " + pages.getCount());
}
Các Document nhà xây dựng lớp chấp nhận một con đường tệp hoặc dòng để truy cập vào hiện có file, hoặc có thể được gọi với không có lý do để tạo một tài liệu trắng. qua PageCollection,- Truy cập qua Document.getPages().Mỗi người Page Hiển thị bản thân Geometry qua getMediaBox(), getCropBox(), và getRotate(),và cung cấp quyền truy cập vào tài nguyên, các nhà điều hành nội dung và ghi chú.
try (Document doc = new Document()) {
PageCollection pages = doc.getPages();
Page page = pages.add();
// page.getMediaBox() -> Rectangle with width/height
// page.getAnnotations() -> AnnotationCollection
doc.save("output.pdf");
}
Các PdfFileEditor lớp cung cấp concatenate() để kết hợp nhiều tài liệu và resizeContents() Với ContentsResizeParameters Để điều chỉnh nội dung layout trong Các giới hạn trang hiện có.
Annotations
Aspose.PDF FOSS for Java implements the full PDF annotation hierarchy rooted at the Abstract Đánh giá Annotation Các loại ghi chú cụ thể bao gồm: WidgetAnnotation Đối với hình thức kiểm soát, FreeTextAnnotation Đối với các bài viết callouts, HighlightAnnotation và UnderlineAnnotation để markup, và CircleAnnotation và CaretAnnotation Đối với Ghi chú đồ họa.
Mỗi bài viết được liên kết với một Page Và A Rectangle định vị của nó. Các tính năng hình ảnh được kiểm soát thông qua AppearanceCharacteristics,Những gì tiết lộ setBorder(), setBackground(), setRotate(), và setCaption() Phương pháp - Annotications được thêm vào một trang qua page.getAnnotations().add(annotation).
try (Document doc = new Document()) {
PageCollection pages = doc.getPages();
Page page = pages.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("annotated.pdf");
}
Các hình thức tương tác
Các Form lớp học, có thể truy cập qua Document.getForm(), quản lý tất cả các trường AcroForm. Thư viện cung cấp ButtonField, CheckboxField, RadioButtonField, TextBoxField, ComboBoxField, và ListBoxField Xây dựng các hình thức đầy đủ. FormEditor là a lớp facade để làm việc với các trường hình thức trong một tài liệu kết nối.
Các nhóm nút radio được tạo ra với RadioButtonField, chấp nhận một trang và hỗ trợ addOption() để thêm các lựa chọn có thể được chọn, mỗi liên quan đến một Rectangle Đối với thị giác của nó Địa điểm: The setValue() Phương pháp lập trình chọn một tùy chọn.
try (Document doc = new Document()) {
PageCollection pages = doc.getPages();
Page page = pages.add();
RadioButtonField radio = new RadioButtonField(page);
radio.setPartialName("answer");
radio.addOption("Yes", new Rectangle(50, 50, 70, 70));
radio.addOption("No", new Rectangle(50, 80, 70, 100));
doc.getForm().add(radio, 1);
radio.setValue("Yes");
doc.save("form.pdf");
}
• Bảo mật: AES Encryption
Các AESCipher lớp áp dụng mã hóa AES trong chế độ CBC để mã hoá và giải mã dữ liệu byte rays tích hợp trong tài liệu PDF. AESCipher.encrypt(key, data) Trở lại The Cryptocurrency, và AESCipher.decrypt(key, data) Nhận lại bản kiện ban đầu. Đối với kiểm soát rõ ràng IV, encryptWithIV(key, iv, plaintext) và decryptWithIV(key, iv, cipherText) - Thực hiện hoạt động định nghĩa.
PDF/A xác nhận tuân thủ
Thư viện bao gồm ActionRules và ActionFixes PDF/A xác nhận tuân thủ và sửa chữa . ActionRules.validate() kiểm tra các hành động bị cấm trong danh mục, trang và Widget nhập khẩu. ActionFixes cung cấp các phương pháp như removeCatalogAA(), removePageAA(), và removeWidgetAA() sửa các từ điển hành động không phù hợp. Cũng như vậy, AnnotationRules và AnnotationFixes Thực hiện theo dõi ghi chú.
Các tác phẩm: Headers, Footers và Watermarks
Các Artifact mô hình trang trang lớp như đầu, chân, dấu nước, và Hình nền hình ảnh. ArtifactCollection, có thể truy cập thông qua các nguồn trang, cho phép liệt kê và loại bỏ các vật dụng.Iterating page.getArtifacts() và gọi ArtifactCollection.delete(artifact) loại bỏ các tác phẩm cụ thể mà không thay đổi Nội dung tài liệu trực tiếp chảy.
Trang Rendering
Các BmpDevice lớp render PDF pages directly to BMP image files using process(page, outputPath).Điều này hữu ích cho sự tạo ra nhỏ, bản xem trước tài liệu, hoặc các ống chế dựa trên hình ảnh.