API Java ฟรีเพื่อแปลงเอกสาร Word คุณภาพสูงเป็น PDF

ไลบรารีเปิดแหล่งที่มาชั้นนำช่วยให้นักพัฒนา Java แปลงไฟล์ MS Office DOCX, XLSX และ PDF ด้วยความแม่นยำสูงโดยใช้แอปพลิเคชันพื้นฐาน

Documents4j คืออะไร ?

documents4j เป็นไลบรารี Java แบบเปิดแหล่งที่มาที่มีประสิทธิภาพออกแบบมาเพื่อแปลงเอกสารระหว่างรูปแบบต่าง ๆ เช่น DOCX เป็น PDF หรือ XLSX เป็น PDF ต่างจากไลบรารีแบบดั้งเดิมหลาย ๆ ตัว documents4j มอบหมายกระบวนการแปลงให้กับแอปพลิเคชันพื้นฐานเช่น Microsoft Word และ Excel เพื่อให้ผลลัพธ์คุณภาพสูงโดยมีปัญหาการจัดรูปแบบจำนวนน้อย ไลบรารีใช้แนวทางที่แตกต่าง ไม่ได้ทำการเขียนตรรกะการแปลงใหม่ แต่ทำหน้าที่เป็นสะพาน มอบหมายการทำงานหนักให้กับแอปพลิเคชันพื้นฐาน (เช่น Microsoft Word หรือ Excel) ที่เข้าใจรูปแบบเหล่านี้อย่างสมบูรณ์ นั่นทำให้เอกสารผลลัพธ์—เช่น PDF ที่สร้างจากไฟล์ Word—ดูเหมือนกับว่าคุณกด "Save As" ด้วยตนเองใน MS Office อย่างแม่นยำ

คุณค่าหลักของ documents4j อยู่ที่ความแม่นยำ สำหรับธุรกิจที่ต้องการเอกสารระดับมืออาชีพที่ขอบเขตและฟอนต์ต้องคงเดิม การพึ่งพาตัวแยกวิเคราะห์แบบเปิดแหล่งที่มามีความเสี่ยง documents4j มีประโยชน์โดยเฉพาะในการสร้างใบแจ้งหนี้หรือรายงานจากเทมเพลต การทำอัตโนมัติของขั้นตอนการทำงานเอกสารในสภาพแวดล้อม Windows และการแยกตรรกะการแปลงออกจากแอปพลิเคชันหลักโดยใช้เซิร์ฟเวอร์ระยะไกล ด้วยการใช้แอปพลิเคชันพื้นฐาน มันให้ความแม่นยำที่ไม่มีใครเทียบได้เมื่อเทียบกับไลบรารีแบบดั้งเดิม การสนับสนุนการประมวลผลแบบท้องถิ่นและระยะไกล การทำงานพร้อมกันและการกระจายโหลดทำให้มันเหมาะอย่างยิ่งสำหรับระบบระดับองค์กร

Previous Next

เริ่มต้นใช้งาน documents4j

ก่อนอื่นคุณต้องติดตั้ง Java Development Kit (JDK) บนระบบของคุณ การอ้างอิง Docs-to-PDF-Converter ในโครงการ Java ที่ใช้ Maven จะง่ายยิ่งขึ้น เพียงแค่เพิ่มการพึ่งพาต่อไปนี้ในไฟล์ pom.xml ของคุณและให้ IDE ดึงและอ้างอิงไฟล์ Jar ของ Docs-to-PDF-Converter

การพึ่งพา Maven ของ Docs-to-PDF-Converter


// 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>

ติดตั้ง Docs-to-PDF-Converter ผ่าน GitHub


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

การแปลง Word เป็น PDF ผ่านไลบรารี Java

Docs-to-PDF-Converter แบบเปิดแหล่งที่ช่วยให้ผู้พัฒนาซอฟต์แวร์สามารถแปลงหลายประเภทเอกสารเป็น PDF ภายในแอปพลิเคชัน Java ไลบรารีรองรับ Micro Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX), RTF, รูปแบบ OpenDocument และอื่น ๆ อีกมากมาย ความเข้ากันได้กับรูปแบบที่หลากหลายนี้ทำให้การแปลงเอกสารเป็นไปอย่างไม่มีสะดุดสำหรับการใช้งานที่แตกต่างกัน ต่อไปนี้คือตัวอย่างง่าย ๆ ที่แสดงว่าผู้พัฒนาสามารถแปลงเอกสาร Word (.docx) เป็น PDF ด้วยคำสั่ง Java อย่างไร

วิธีแปลงเอกสาร Word (.docx) เป็น PDF ผ่านไลบรารี 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();
    }
}

เครื่องแปลงระยะไกลพร้อมเซิร์ฟเวอร์ REST API

ไลบรารี Docs-to-PDF-Converter แบบเปิดแหล่งที่ให้ผู้พัฒนาซอฟต์แวร์สามารถปรับแต่งผลลัพธ์ PDF ในขณะแปลงเอกสารเป็น PDF ได้ ตัวอย่างเช่น ผู้พัฒนาสามารถควบคุมขนาดหน้า (A4, Letter ฯลฯ), ขอบกระดาษ, การวางแนว (แนวตั้งหรือแนวนอน) และส่วนหัว/ส่วนท้าย นอกจากนี้ยังสามารถใช้สไตล์ CSS กับเนื้อหา HTML เพื่อควบคุมการแสดงผลอย่างแม่นยำ, ควบคุมฟอนต์, สี, ขนาด และอื่น ๆ อีกมาก ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการใช้การตั้งค่าต่าง ๆ กับ PDF ที่สร้างโดยไลบรารี

วิธีปรับแต่งเอกสาร PDF ที่ได้ในระหว่างการแปลง Docs เป็น PDF?

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

การเข้ารหัส SSL และการตรวจสอบความถูกต้องพื้นฐาน

ไลบรารี Docs-to-PDF-Converter ทำให้นักพัฒนา Java สามารถสร้างเอกสาร PDF ที่ไดนามิกและซับซ้อนได้อย่างง่ายดาย มันตรวจจับรูปแบบไฟล์อินพุตโดยอัตโนมัติและประมวลผลตามนั้น ไม่ว่าจะเป็นไฟล์ Word, Excel, PowerPoint หรือ RTF ไลบรารีจะเปลี่ยนเป็น PDF อย่างราบรื่นโดยไม่ต้องกำหนดค่าเพิ่มเติม นี่คือตัวอย่างที่แสดงว่าผู้พัฒนาซอฟต์แวร์สามารถแปลงไฟล์ Markdown เป็น PDF ภายในแอปพลิเคชัน Java ได้อย่างไร

การประมวลผลแบบอะซิงโครนัสและมีลำดับความสำคัญ

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.

 ไทย