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