Comment convertir MS doc en pdf

Comment convertir doc en pdf en utilisant api java. où le document contient divers formats tels que des tableaux en ms. lors de la conversion en pdf en utilisant iText. où le document réel semble différent du pdf converti. veuillez fournir tout api pas un exe installé pour la conversion. doit être une source ouverte

C’est une tâche assez difficile, de plus en plus difficile si vous voulez des résultats parfaits (impossible sans Word) car le nombre d’API qui font tout pour vous en Java pur et en open source est nul. , voir ci-dessous ).

Vos options de base sont les suivantes:

  1. Utilisation du script de service Web / etc JNI / a C # MS Office (seule option pour des résultats parfaits à 100%)
  2. Utiliser le script API 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 simplifiée de mon article de blog sur ce sujet, qui décrit les produits existants qui prennent en charge Word à PDF en Java.

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

Trois produits que je connais peuvent rendre des documents Office:

Convertisseur yeokm1 / docs-to-pdf Irrégulièrement maintenu, Pure Java, Open Source Associe un certain nombre de bibliothèques pour effectuer la conversion.

xdocreport Développé activement, Pure Java, Open Source C’est l’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 ( PDF, XHTML …).

Snowbound Imaging SDK Closed Source, Pure Java Snowbound semble être une solution 100% Java et coûte plus de 2 500 $. Il contient des exemples décrivant comment convertir des documents dans le téléchargement d’évaluation.

OpenOffice API Open Source, pas Pure Java – Nécessite Open Office installé OpenOffice est une suite Office native qui prend en charge une API Java. Cela permet de lire des documents Office et d’écrire des documents PDF. Le SDK contient un exemple de conversion de document (examples / java / DocumentHandling / DocumentConverter.java). Pour écrire des fichiers PDF, vous devez passer le scripteur “writer_pdf_Export” plutôt que le “MS Word 97”. Ou vous pouvez utiliser l’API wrapper JODConverter .

JDocToPdf – Dead as from 2016-02-11 Utilise Apache POI pour lire le document Word et iText pour écrire le PDF. Complètement gratuit, 100% Java mais avec quelques limitations .

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

  1. Microsoft Office à OpenDocument et vice versa
  2. Tout format au format PDF
  3. Et supporte beaucoup plus de conversion aussi
  4. Il peut également convertir des documents MS Office 2007 au format PDF avec presque tous les formats

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

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 capable de convertir des documents Microsoft Office au format PDF mais sans dépendances comme LibreOffice ou des solutions propriétaires coûteuses. Vu que le code et les bibliothèques pour convertir chaque format individuel sont dispersés sur le Web, j’ai décidé de combiner toutes ces solutions en un seul programme. Au fil du temps, j’ai décidé d’append le support ODT également depuis que j’ai rencontré le code.

Vous pouvez utiliser la bibliothèque Java native Cloudmersive. Il est gratuit pour un maximum de 50 000 conversions / mois et est bien plus fidèle à mon expérience que d’autres méthodes telles que les méthodes basées sur les POI iText ou Apache. Les documents se ressemblent en fait dans Microsoft Word, qui est pour moi la clé. Incidemment, il peut également faire XLSX, PPTX, et la conversion DOC, XLS et PPT en PDF.

Voici à quoi ressemble le code, ajoutez d’abord 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 gratuitement une clé API de conversion de documents à partir du portail.

Je suis d’accord avec les affiches listant OpenOffice comme une facilité d’import / export haute fidélité des documents Word / pdf avec une API Java et fonctionne également sur plusieurs plates-formes. Les filtres d’importation / exportation OpenOffice sont très puissants et conservent la plupart des mises en forme lors de la conversion vers divers formats, y compris PDF. Docmosis et JODReports ajoutent de la valeur pour rendre la vie plus facile que d’apprendre directement l’API OpenOffice, ce qui peut être difficile à cause du style de l’api UNO et des bogues liés à l’incident.

Je pense que JOD Converter est la manière la plus simple de mettre en œuvre, 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

Je n’ai pas essayé de l’utiliser pour MS Word, mais j’ai bien réussi à lire des documents MS Excel à l’aide d’Apache POI – http://poi.apache.org/

Regardez dans le script OpenOffice.org pour faire le travail pour vous.

unoconv , c’est un outil python fonctionné sous UNIX. Bien que j’utilise Java pour appeler le shell sous UNIX, cela fonctionne parfaitement pour moi. Mon code source: UnoconvTool.java . JODConverter et unoconv utiliseraient tous deux des bureaux libres / open office.

docx4j / docxreport, POI, PDFBox sont bons mais il manque des formats de conversion.