API Java miễn phí để chuyển đổi tài liệu Word chất lượng cao sang PDF

Thư viện Open Source hàng đầu cho phép các nhà phát triển Java chuyển đổi các tệp MS Office DOCX, XLSX và PDF với độ chính xác cao bằng các ứng dụng gốc.

Documents4j là gì?

documents4j là một thư viện Java mạnh mẽ, mã nguồn mở, được thiết kế để chuyển đổi tài liệu giữa các định dạng khác nhau, chẳng hạn như DOCX sang PDF hoặc XLSX sang PDF. Không giống như nhiều thư viện truyền thống, documents4j giao quá trình chuyển đổi cho các ứng dụng gốc như Microsoft Word và Excel, đảm bảo kết quả chất lượng cao với ít vấn đề về định dạng. Thư viện sử dụng một phương pháp tiếp cận khác. Thay vì tái triển khai logic chuyển đổi, nó hoạt động như một cầu nối, giao phần lớn công việc cho các ứng dụng gốc (như Microsoft Word hoặc Excel) vốn đã hiểu hoàn hảo các định dạng này. Điều này đảm bảo rằng tài liệu đầu ra — chẳng hạn như PDF tạo từ tệp Word — sẽ trông giống như khi bạn nhấp "Lưu Dưới Dạng" một cách thủ công trong MS Office.

Giá trị cốt lõi của documents4j nằm ở độ chính xác. Đối với các doanh nghiệp yêu cầu tài liệu chuyên nghiệp, nơi mọi lề và phông chữ phải giữ nguyên, việc dựa vào các bộ phân tích mã nguồn mở có thể rủi ro. documents4j đặc biệt hữu ích cho việc tạo hoá đơn hoặc báo cáo từ các mẫu, tự động hoá quy trình làm việc tài liệu trong môi trường Windows và tách biệt logic chuyển đổi ra khỏi ứng dụng chính thông qua thiết lập máy chủ từ xa. Bằng cách tận dụng các ứng dụng gốc, nó mang lại độ chính xác vô song so với các thư viện truyền thống. Hỗ trợ xử lý cục bộ và từ xa, thực thi đồng thời và cân bằng tải khiến nó phù hợp cho các hệ thống cấp doanh nghiệp.

Previous Next

Bắt đầu với documents4j

Cách tốt nhất để cài đặt documents4j là qua kho Maven. Bạn chỉ cần thêm phụ thuộc sau vào tệp pom.xml và để IDE của mình tải về và tham chiếu các file jar của documents4j.

Kho Maven cho documents4j


// Here’s a commonly used dependency (Local converter): 

<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-local</artifactId>
<version>1.1.13</version>
</dependency>

//If you only need the API:
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-api</artifactId>
<version>1.1.13</version>
</dependency>

Cài đặt documents4j trên GitHub


git clone https://github.com/documents4j/documents4j.git
cd documents4j
cd documents4j-local-demo
mvn jetty:run

Chuyển đổi Word sang PDF qua thư viện Java

Thư viện mã nguồn mở documents4j cho phép các nhà phát triển Java chuyển đổi nhiều loại tài liệu thành PDF trong các ứng dụng Java. Thư viện hỗ trợ Micro Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX), RTF, Định dạng OpenDocument và nhiều hơn nữa. Khả năng tương thích đa định dạng này đảm bảo chuyển đổi tài liệu suôn sẻ cho các trường hợp sử dụng đa dạng. Dưới đây là một ví dụ đơn giản minh hoạ cách các nhà phát triển phần mềm có thể chuyển đổi tài liệu Word (.docx) sang PDF bằng các lệnh Java.

Cách chuyển đổi Word sang PDF qua thư viện Java?

import com.documents4j.api.DocumentType;
import com.documents4j.api.IConverter;
import com.documents4j.job.LocalConverter;

import java.io.File;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;

public class DocumentConverter {
    public static void main(String[] args) {
        // 1. Specify the source and target files
        File wordFile = new File("C:/documents/input.docx");
        File targetFile = new File("C:/documents/output.pdf");

        // 2. Initialize the converter (Local instance)
        IConverter converter = LocalConverter.builder()
                .workerPool(20, 25, 2, TimeUnit.SECONDS)
                .processTimeout(5, TimeUnit.SECONDS)
                .build();

        // 3. Execute the conversion fluently
        boolean success = converter.convert(wordFile).as(DocumentType.MS_WORD)
                                   .to(targetFile).as(DocumentType.PDF)
                                   .execute();

        if (success) {
            System.out.println("Conversion completed successfully!");
        }

        // 4. Always shut down the converter to release native resources
        converter.shutDown();
    }
}

Máy chuyển đổi từ xa với máy chủ REST API

Thư viện documents4j cho phép các nhà phát triển tùy chỉnh đầu ra PDF khi chuyển đổi tài liệu sang PDF. Ví dụ, họ có thể kiểm soát kích thước trang (A4, Letter, v.v.), lề, hướng (dọc hoặc ngang) và tiêu đề/chân trang. Ngoài ra, họ có thể áp dụng các kiểu CSS cho nội dung HTML để kiểm soát trực quan, định dạng phông chữ, màu sắc, kích thước và nhiều hơn nữa. Đoạn mã dưới đây cho thấy cách áp dụng các thiết lập khác nhau cho PDF được tạo bởi thư viện.

Cách thực hiện chuyển đổi tài liệu Word từ xa trong Java Apps?

import com.documents4j.api.DocumentType;
import com.documents4j.api.IConverter;
import com.documents4j.job.RemoteConverter;

import java.io.*;
import java.util.concurrent.TimeUnit;

public class RemoteConverterExample {

    public static void main(String[] args) throws Exception {

        // The RemoteConverter connects to the standalone server
        IConverter converter = RemoteConverter.builder()
                .baseFolder(new File("/tmp/documents4j"))
                .workerPool(10, 20, 5, TimeUnit.SECONDS)
                // Timeout for each HTTP conversion request
                .requestTimeout(30, TimeUnit.SECONDS)
                // URI of the running conversion server
                .baseUri("http://192.168.1.100:9998")
                .build();

        // Convert using InputStream / OutputStream — recommended for RemoteConverter
        // because data is already serialized for HTTP transport
        try (InputStream source = new FileInputStream("/input/contract.docx");
             OutputStream target = new FileOutputStream("/output/contract.pdf")) {

            boolean success = converter
                    .convert(source).as(DocumentType.MS_WORD)
                    .to(target).as(DocumentType.PDF)
                    .execute();

            System.out.println("Remote conversion success: " + success);
        }

        converter.shutDown();
    }
}          

Mã hóa SSL và Xác thực Cơ bản

Thư viện Documents4j hỗ trợ các nhà phát triển Java tạo ra các tài liệu PDF động và tinh vi một cách dễ dàng. Nó tự động phát hiện định dạng tệp đầu vào và xử lý tương ứng. Dù là tệp Word, Excel, PowerPoint hay RTF, thư viện sẽ chuyển đổi sang PDF một cách liền mạch mà không cần cấu hình thêm. Dưới đây là một ví dụ minh hoạ cách các nhà phát triển phần mềm có thể chuyển đổi tệp Markdown sang PDF trong ứng dụng Java.

Xử lý bất đồng bộ và ưu tiên

Conversions can be resource-intensive. documents4j allows you to schedule conversions to run in the background (asynchronously) using a Future return type. Furthermore, it supports a prioritization mechanism. If your application handles a high volume of requests, you can assign a higher priority to critical documents to ensure they are moved to the front of the internal job queue.

 Tiếng Việt