Comment convertir MS doc en pdf


Comment convertir un document en pdf à l'aide de l'api java. où le document contient différents formats tels que des tables dans ms word. lors de la conversion au format pdf en utilisant iText. où le document réel semble différent du PDF converti. veuillez fournir une API qui n'est pas un exe installé pour la conversion . doit être une source ouverte

Author: skaffman, 2010-06-11

9 answers

C'est une tâche assez difficile, toujours plus difficile si vous voulez des résultats parfaits (impossible sans utiliser Word) en tant que tel, le nombre d'API qui font tout pour vous en Java pur et sont open source est nul je crois ( Mise à jour: Je me trompe, voir ci-dessous).

Vos options de base sont les suivantes:

  1. Utilisation du script MS Office JNI/a C# web service / etc (seule option pour des résultats parfaits à 100%)
  2. Utilisation du script APIs disponible Open Office (90 + % parfait)
  3. Utiliser Apache POI & iText (très gros travail, ne sera jamais parfait).

Mise à Jour - 2016-02-11 Voici une copie réduite de mon article de blog sur ce sujet qui décrit les produits existants qui prennent en charge Word-to-PDF en Java.

Conversion de documents Microsoft Office (Word, Excel) en PDF en Java

Trois produits que je connais peuvent rendre des documents Office:

Yeokm1/docs-to-pdf-converter Maintenu irrégulièrement, Java pur, Ouvert Source Relie un certain nombre de bibliothèques pour effectuer la conversion.

Xdocreport Activement développé, Pur Java, Open Source C'est une API Java pour fusionner un document XML créé avec MS Office (docx) ou OpenOffice (odt), LibreOffice (odt) avec un modèle Java pour générer un rapport et le convertir si vous en avez besoin dans un autre format (PDF, XHTML...).

Il est possible de créer un fichier SDK d'imagerie Snowbound Source fermée, Java pur Snowbound semble être une solution 100% Java et frais de 2 500 $et plus. Il contient des exemples décrivant comment convertir des documents dans le téléchargement d'évaluation.

Vous avez besoin de plus d'informations? Open Source, Pas Java Pur-Nécessite Open Office installé OpenOffice est une suite bureautique native qui prend en charge une API Java. Cela prend en charge la lecture de documents Office et l'écriture de documents PDF. Le SDK contient un exemple dans la conversion de document (examples/java/DocumentHandling/DocumentConverter.Java). Pour écrire des PDF, vous devez passer le "writer_pdf_Export" écrivain plutôt que le" MS Word 97 " un. Ou vous pouvez utiliser l'API wrapperJODConverter .

JDocToPdf - Mort au 2016-02-11 Utilise Apache POI pour lire le document Word et iText pour écrire le PDF. Entièrement gratuit, 100% Java mais a quelques limitations .

 42
Author: Michael Lloyd Lee mlk, 2016-02-11 11:36:53

Vous pouvez utiliser JODConverter à cette fin. Il peut être utilisé pour convertir des documents entre différents formats de bureau. tels que:

  1. Microsoft Office à OpenDocument, et vice versa
  2. Tout format au format PDF
  3. et prend en charge beaucoup plus de conversion ainsi
  4. Il peut également convertir des documents MS office 2007 en PDF avec presque tous les formats

Plus de détails à ce sujet peuvent être trouvés ici: http://www.artofsolving.com/opensource/jodconverter

 8
Author: Nodexpert, 2010-08-13 08:58:58

Découvrez docs-to-pdf-converter sur github. C'est une solution légère conçue spécifiquement pour convertir des documents en PDF.

Pourquoi?

Je voulais un programme simple qui peut convertir des documents Microsoft Office au format PDF mais sans dépendances comme LibreOffice ou cher solutions propriétaires. Voir comment le code et les bibliothèques à convertir chaque format individuel est dispersé sur le web, j'ai décidé de combinez toutes ces solutions en une seule programme. Sur le chemin, je j'ai également décidé d'ajouter le support ODT car j'ai également rencontré le code.

 4
Author: Sudarshan_SMD, 2016-02-02 06:39:09

Vous pouvez utiliser la bibliothèque Java native Cloudmersive. Il est gratuit pour jusqu'à 50 000 conversions/mois et est beaucoup plus fidèle dans mon expérience que d'autres choses comme iText ou Apache méthodes basées sur POI. Les documents ont en fait la même apparence que dans Microsoft Word, ce qui est pour moi la clé. Incidemment, il peut également faire XLSX, PPTX et la conversion DOC, XLS et PPT héritée en PDF.

Voici à quoi ressemble le code, ajoutez vos importations:

import com.cloudmersive.client.invoker.ApiClient;
import com.cloudmersive.client.invoker.ApiException;
import com.cloudmersive.client.invoker.Configuration;
import com.cloudmersive.client.invoker.auth.*;
import com.cloudmersive.client.ConvertDocumentApi;

Puis convertir un fichier:

ApiClient defaultClient = Configuration.getDefaultApiClient();

// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");

ConvertDocumentApi apiInstance = new ConvertDocumentApi();
File inputFile = new File("/path/to/input.docx"); // File to perform the operation on.
try {
  byte[] result = apiInstance.convertDocumentDocxToPdf(inputFile);
  System.out.println(result);
} catch (ApiException e) {
  System.err.println("Exception when calling ConvertDocumentApi#convertDocumentDocxToPdf");
e.printStackTrace();
}

Vous pouvez obtenir une document conversion API key gratuitement à partir du portail.

 2
Author: Stas, 2018-08-18 10:02:09

Je suis d'accord avec les affiches répertoriant OpenOffice comme une installation d'importation/exportation haute fidélité de documents word / pdf avec une API Java et cela fonctionne également sur toutes les plates-formes. Les filtres d'importation/exportation OpenOffice sont assez puissants et préservent la plupart des formatages lors de la conversion vers différents formats, y compris PDF. Docmosis et JODReports valeur ajoutée pour rendre la vie plus facile que d'apprendre directement l'API OpenOffice, ce qui peut être difficile en raison du style de l'api UNO et du crash lié bugs.

 1
Author: Paul Jowett, 2014-07-25 02:05:48

Je pense que JOD Converter est le moyen le plus simple à implémenter, veuillez vous référer au lien ci-dessous pour plus d'informations.

Http://mytechbites.blogspot.in/2014/10/convert-documents-to-pdf-in-java.html

 1
Author: Selvakumar Ponnusamy, 2015-05-06 05:26:55

Je n'ai pas essayé de l'utiliser pour MS Word, mais j'ai eu beaucoup de succès à lire des documents MS Excel en utilisant Apache POI - http://poi.apache.org/

 0
Author: Curtis, 2010-06-11 11:57:40

Regardez dans les scripts OpenOffice.org pour faire le travail pour vous.

 0
Author: Thorbjørn Ravn Andersen, 2010-06-11 12:26:07

Unoconv , c'est un outil python travaillé sous UNIX. Bien que j'utilise Java pour invoquer le shell sous UNIX, cela fonctionne parfaitement pour moi. Mon code source: UnoconvTool.java . JODConverter et unoconv utilisent tous deux open office/libre office.

Docx4j/docxreport, POI, PDFBox sont bons mais il leur manque certains formats dans la conversion.

 0
Author: leef, 2013-11-17 05:40:24