API Java gratuita per convertire documenti Word di alta qualità in PDF
Una libreria Open Source leader consente agli sviluppatori Java di convertire file MS Office DOCX, XLSX e PDF con alta precisione usando applicazioni native.
Cos'è Documents4j?
documents4j è una potente libreria Java open source progettata per convertire documenti tra diversi formati, come DOCX in PDF o XLSX in PDF. A differenza di molte librerie tradizionali, documents4j delega il processo di conversione a applicazioni native come Microsoft Word ed Excel, garantendo un output di alta qualità con problemi di formattazione minimi. La libreria adotta un approccio diverso. Invece di reimplementare la logica di conversione, funziona come un ponte, delegando il lavoro pesante alle applicazioni native (come Microsoft Word o Excel) che comprendono già perfettamente questi formati. Questo assicura che il documento di output—come un PDF generato da un file Word—appaia esattamente come se avessi cliccato manualmente "Salva con nome" in MS Office.
Il valore principale di documents4j risiede nella sua precisione. Per le aziende che necessitano di documentazione di livello professionale, dove ogni margine e carattere devono rimanere intatti, fare affidamento su parser open source può essere rischioso. documents4j è particolarmente utile per generare fatture o report da template, automatizzare i flussi di lavoro dei documenti in un ambiente basato su Windows e separare la logica di conversione dalla tua applicazione principale tramite una configurazione di server remoto. Sfruttando le applicazioni native, garantisce una precisione senza pari rispetto alle librerie tradizionali. Il suo supporto per l'elaborazione locale e remota, l'esecuzione concorrente e il bilanciamento del carico lo rendono altamente adatto a sistemi di livello enterprise.
Iniziare con documents4j
Prima di tutto, devi avere installato il Java Development Kit (JDK) sul tuo sistema. Fare riferimento a Docs-to-PDF-Converter nel tuo progetto Java basato su Maven è ancora più semplice. Tutto ciò che devi fare è aggiungere la seguente dipendenza nel tuo pom.xml e lasciare che il tuo IDE scarichi e faccia riferimento ai file Jar di Docs-to-PDF-Converter.
Repository Maven per 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>
Installa documents4j da GitHub
git clone https://github.com/documents4j/documents4j.git
cd documents4j
cd documents4j-local-demo
mvn jetty:run
Convertire Word in PDF tramite libreria Java
Il Docs-to-PDF-Converter open source consente agli sviluppatori di convertire diversi tipi di documenti in PDF all'interno di applicazioni Java. La libreria supporta Micro Word (DOC, DOCX), Excel (XLS, XLSX), PowerPoint (PPT, PPTX), RTF, Formati OpenDocument e molti altri. Questa ampia compatibilità di formati garantisce una conversione fluida dei documenti per casi d'uso diversi. Ecco un semplice esempio che dimostra come gli sviluppatori possano convertire un documento Word (.docx) in PDF usando i comandi Java.
Come convertire Word in PDF tramite libreria 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();
}
}
Convertitore remoto con server REST API
La libreria open source Docs-to-PDF-Converter consente agli sviluppatori di personalizzare l'output PDF durante la conversione dei documenti in PDF. Ad esempio, gli sviluppatori possono controllare le dimensioni della pagina (A4, Letter, ecc.), i margini, l'orientamento (ritratto o paesaggio) e le intestazioni/piedi di pagina. Inoltre, possono applicare stili CSS al contenuto HTML per un controllo visivo preciso, gestire le famiglie di caratteri, i colori, le dimensioni e molto altro. I seguenti snippet di codice mostrano come applicare varie impostazioni al PDF generato dalla libreria.
Come eseguire la conversione remota di documenti Word all'interno di app Java?
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();
}
}
Crittografia SSL e Autenticazione di base
La libreria Docs-to-PDF-Converter permette agli sviluppatori Java di creare documenti PDF dinamici e sofisticati con facilità. Rileva automaticamente il formato del file di input e lo elabora di conseguenza. Che si tratti di un file Word, Excel, PowerPoint o RTF, la libreria lo converte senza problemi in PDF senza configurazioni aggiuntive. Ecco un esempio che mostra come gli sviluppatori possano convertire un file Markdown in PDF all'interno di applicazioni Java.
Elaborazione asincrona e prioritaria
Conversions can be resource-intensive. documents4j allows you to schedule conversions to run in the background (asynchronously) using a Future