1. Sản Phẩm
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Java

Aspose.PDF FOSS cho Java

Tạo và thao tác tài liệu PDF từ Java — với chú thích, trường biểu mẫu, thao tác trang và tuân thủ PDF/A. Được cấp phép MIT.

Thư viện Java miễn phí có giấy phép MIT để tạo và thao tác PDF

Aspose.PDF FOSS cho Java là một thư viện Java được cấp phép MIT để tạo và làm việc với tài liệu PDF. Nó cung cấp một lớp Document toàn diện làm điểm vào trung tâm, cùng với việc bao phủ đầy đủ các chú thích, trường biểu mẫu tương tác, thao tác trang, siêu dữ liệu và xác thực tuân thủ PDF/A.

Thư viện cung cấp 527 lớp bao phủ toàn bộ đặc tả PDF: cấu trúc tài liệu qua Document, Page, và PageCollection; chú thích thông qua phân cấp Annotation (bao gồm WidgetAnnotation, FreeTextAnnotation, và HighlightAnnotation); biểu mẫu tương tác với Form, ButtonField, CheckboxField, và RadioButtonField; việc render trang qua BmpDevice; và kiểm tra tuân thủ PDF/A thông qua ActionRulesActionFixes. Mã hoá được cung cấp qua AESCipher ở chế độ CBC.

Thêm Aspose.PDF FOSS vào dự án Maven của bạn bằng cách sử dụng groupId org.aspose và artifactId aspose-pdf. Thư viện yêu cầu Java 11 hoặc mới hơn và được cấp phép MIT. Đối với các tính năng doanh nghiệp và hỗ trợ, xem Aspose.PDF for Java — Enterprise Product.

Cấu trúc tài liệu và quản lý trang

  • Document API: Sử dụng lớp Document để tạo tài liệu PDF mới. Các tài liệu hiện có có thể được truy cập thông qua các hàm khởi tạo Document(filePath) hoặc Document(stream).
  • Quản lý trang: Thêm, truy cập và sửa đổi các trang qua PageCollection. Mỗi Page cung cấp MediaBox, CropBox, xoay, tài nguyên và các toán tử nội dung.
  • Metadata: Đọc và ghi siêu dữ liệu tài liệu qua DocumentInfoXmpMetadata.
  • Cấu trúc PDF: Truy cập các đối tượng PDF cơ bản thông qua getParser(), getCatalog()getTrailer().
  • Embedded files: Quản lý các bộ sưu tập tệp nhúng với getEmbeddedFiles().

Các kịch bản Xử lý Tài liệu Phổ biến

  • PDF generation: Xây dựng tài liệu một cách lập trình bằng cách tạo một Document và điền nội dung vào các trang.
  • Phân tích tài liệu: Truy cập các tệp hiện có để kiểm tra siêu dữ liệu hoặc liệt kê các trường biểu mẫu.
  • Thao tác trang: Thay đổi kích thước, xoay hoặc sắp xếp lại các trang bằng cách sử dụng PdfFileEditorPage API.
  • Batch workflows: Áp dụng các chuyển đổi nhất quán trên nhiều tài liệu trong các pipeline phía máy chủ.

Chú thích và trường biểu mẫu

  • Cây phân cấp chú thích: Lớp trừu tượng Annotation là cơ sở cho tất cả các chú thích; các kiểu cụ thể bao gồm WidgetAnnotation, FreeTextAnnotation, HighlightAnnotationUnderlineAnnotation.
  • Biểu mẫu tương tác: Truy cập biểu mẫu tài liệu qua Document.getForm() để liệt kê hoặc tạo các thể hiện ButtonField, CheckboxField, và RadioButtonField instances.
  • Widget appearance: Kiểm soát các thuộc tính trực quan thông qua AppearanceCharacteristics — màu viền, nền, xoay, và chú thích.
  • Chỉnh sửa biểu mẫu: Sử dụng FormEditorFormElement để thao tác biểu mẫu ở mức cao hơn.

Đánh giá và Hợp tác Tài liệu

  • Chú thích đánh dấu: Thêm các chú thích tô sáng, gạch chân hoặc chú thích văn bản tự do vào tài liệu để hỗ trợ quy trình xem xét.
  • Biểu mẫu tương tác: Xây dựng tài liệu có thể điền với các nút radio, hộp kiểm và nút nhấn để thu thập dữ liệu.
  • Trích xuất dữ liệu biểu mẫu: Đọc các giá trị trường biểu mẫu đã gửi cho các pipeline phía máy chủ.
  • Tuân thủ lưu trữ: Xác thực và sửa chữa tài liệu cho việc lưu trữ lâu dài bằng cách sử dụng ActionRulesActionFixes.

Bảo mật và Vận hành Nội dung

  • AES encryption: Mã hóa và giải mã các mảng byte dữ liệu bằng AESCipher sử dụng chế độ CBC (AESCipher.encrypt(key, data)AESCipher.decrypt(key, data)).
  • Quản lý các thành phần: Xác định và thao tác tiêu đề, chân trang, dấu nước và hình nền thông qua các API ArtifactArtifactCollection.
  • Thay đổi kích thước nội dung: Điều chỉnh bố cục nội dung trang bằng PdfFileEditor.resizeContents()ContentsResizeParameters.
  • Xác thực tuân thủ: Xác thực các quy tắc chú thích và hành động theo tiêu chuẩn PDF/A bằng cách sử dụng AnnotationRulesActionRules.

Các trường hợp sử dụng bảo mật tài liệu

  • Tải trọng đã mã hoá: Sử dụng AESCipher để mã hoá các phần dữ liệu được nhúng trong các luồng tài liệu.
  • Bảo vệ tài liệu: Áp dụng cài đặt bảo mật cho kiểm soát truy cập trong quy trình tuân thủ.
  • Đánh dấu nước: Phát hiện và quản lý các đối tượng Artifact đại diện cho dấu nước và trang trí trang.
  • Tuân thủ lưu trữ: Chạy ActionFixesAnnotationFixes để làm cho các tài liệu hiện có đáp ứng tiêu chuẩn lưu trữ PDF/A-1b.

Tạo tài liệu với chú thích Widget

Tạo một tài liệu mới, thêm một trang và đính kèm một chú thích widget với kiểu dáng.

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");
}

Tạo biểu mẫu với các nút radio

Thêm một nhóm nút radio vào biểu mẫu tài liệu và chọn giá trị một cách lập trình.

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");
}

Kiểm tra kích thước trang tài liệu

Truy cập tài liệu hiện có và đọc kích thước media box của trang đầu tiên.

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);
}
  

Tài Nguyên Hỗ Trợ và Học Tập

 Tiếng Việt