Ingyenes Java API a magas minőségű Word dokumentum PDF-re konvertálásához

Egy vezető nyílt forráskódú könyvtár lehetővé teszi a Java fejlesztőknek, hogy MS Office DOCX, XLSX és PDF fájlokat magas pontossággal konvertáljanak natív alkalmazások használatával.

Mi az a Documents4j?

a documents4j egy erőteljes nyílt forráskódú Java könyvtár, amely dokumentumok különböző formátumok közötti átalakítására készült, például DOCX-et PDF-re vagy XLSX-et PDF-re. A hagyományos könyvtáraktól eltérően a documents4j a konverziós folyamatot natív alkalmazásokra, például a Microsoft Word-re és Excel-re bízza, így magas minőségű kimenetet biztosít minimális formázási problémákkal. A könyvtár más megközelítést alkalmaz. Ahelyett, hogy újraimplementálná a konverziós logikát, egy hídként működik, a nehéz feladatot natív alkalmazásokra (mint a Microsoft Word vagy Excel) adja át, amelyek már tökéletesen ismerik ezeket a formátumokat. Ez garantálja, hogy a kimeneti dokumentum – például egy Word fájlból generált PDF – pontosan úgy néz ki, mintha manuálisan a \"Mentés másként\" gombra kattintott volna az MS Office-ban.

A documents4j legfőbb értéke pontosságában rejlik. Azoknak a vállalkozásoknak, amelyek professzionális szintű dokumentációt igényelnek, ahol minden margó és betűkészlet változatlan marad, a nyílt forráskódú elemzőkre támaszkodás kockázatos lehet. A documents4j különösen hasznos számlák vagy jelentések sablonokból történő generálásához, a dokumentummunka folyamata automatizálásához Windows-alapú környezetben, valamint a konverziós logika leválasztásához a főalkalmazásról egy távoli szerver beállításával. A natív alkalmazások használatával a könyvtár páratlan pontosságot biztosít a hagyományos könyvtárakhoz képest. A helyi és távoli feldolgozás, a párhuzamos végrehajtás és a terheléselosztás támogatása miatt nagyon alkalmas vállalati szintű rendszerekhez.

Previous Next

Első lépések a documents4j használatához

Először is, a rendszerén telepítve kell lennie a Java Development Kitnek (JDK). A Maven-alapú Java projektjében a Docs-to-PDF-Converter hivatkozása még egyszerűbb. Csak adja hozzá a következő függőséget a pom.xml fájlhoz, és hagyja, hogy az IDE letöltse és hivatkozzon a Docs-to-PDF-Converter JAR fájlokra.

Maven tároló a documents4j-hez


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

documents4j telepítése a GitHubon


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

Word átalakítása PDF-re Java könyvtáron keresztül

A nyílt forráskódú Docs-to-PDF-Converter lehetővé teszi a fejlesztők számára, hogy többféle dokumentumtípust PDF-re konvertáljanak Java-alkalmazásokon belül. A könyvtár támogatja a Micro Word-et (DOC, DOCX), Excel-t (XLS, XLSX), PowerPoint-ot (PPT, PPTX), RTF-et, OpenDocument formátumokat és még sok mást. Ez a széles formátumkompatibilitás biztosítja a zökkenőmentes dokumentumkonvertálást különféle felhasználási esetekben. Íme egy egyszerű példa, amely bemutatja, hogyan konvertálhat egy fejlesztő Word dokumentumot (.docx) PDF-re Java parancsok segítségével.

Hogyan konvertáljunk Word dokumentumot PDF-re Java könyvtáron keresztül?

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

Távoli konverter REST API szerverrel

A nyílt forráskódú Docs-to-PDF-Converter könyvtár lehetővé teszi a fejlesztők számára, hogy a PDF kimenetet testreszabják a dokumentumok PDF-re konvertálása során. Például a fejlesztők beállíthatják az oldalméretet (A4, Letter stb.), a margókat, az orientációt (álló vagy fekvő), valamint a fejléceket/lábléceket. Emellett CSS stílusokat alkalmazhatnak a HTML tartalomra a pontos vizuális vezérlés érdekében, beállíthatják a betűcsaládokat, színeket, méreteket és még sok más funkciót. Az alábbi kódrészletek megmutatják, hogyan lehet különféle beállításokat alkalmazni a könyvtár által generált PDF-re.

Hogyan hajtsunk végre távoli Word dokumentumok konvertálását Java alkalmazásokon belül?

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 titkosítás és alapvető hitelesítés

A Docs-to-PDF-Converter könyvtár a Java fejlesztőket felhatalmazza, hogy könnyedén dinamikus és kifinomult PDF dokumentumokat hozzanak létre. Automatikusan felismeri a bemeneti fájl formátumát, és ennek megfelelően dolgozza fel. Legyen szó Word, Excel, PowerPoint vagy RTF fájlról, a könyvtár zökkenőmentesen konvertálja PDF-re további beállítások nélkül. Íme egy példa, amely bemutatja, hogyan konvertálhat egy fejlesztő egy Markdown fájlt PDF-re Java-alkalmazásokban.

Aszinkron és priorizált feldolgozás

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.

 Magyar