J'essaie de convertir des fichiers docx en pdf sur mon serveur Ubuntu à l'aide de la ligne de commande, mais aucun des convertisseurs que j'ai essayés jusqu'à présent ne semble convertir correctement les fichiers Word 2007/2010/2013.
Apparemment, les convertisseurs en ligne peuvent le gérer sans problème, mais les services Web ne sont pas une option, car les fichiers contiennent des données sensibles. Pour les tests, j'utilise ce fichier Word 2007 car il contient des éléments importants (formules, graphiques vectoriels, images, listes, etc.). J'ai testé les outils suivants (en partie de ce post ):
lowriter
(LibreOffice Writer) - sortie incorrecte (le cercle est censé être sur la dernière page, pas la première)
unoconv
- identique à LibreOffice puisqu'il n'utilise pas son propre convertisseur. La conversion en odt en premier lieu, puis en pdf, désorganise complètement le fichier.
abiword --to=pdf filename.doc
- incorrect et incomplet (de nombreux éléments sont manquants):
OpenOffice Writer - même résultat que pour abiword
wvPDF
- crash avec le message d'erreur suivant:
~ $ wvPDF 2007_Office_DocEncryption.docx test.pdf
Répertoire actuel: / home / webmt / dev / test /
Un problème avec le latex.
Vérifier les erreurs dans test.log
En continuant ...
La conversion en dvi a échoué
Existe-t-il un moyen de convertir correctement les fichiers docx en PDF sur Linux? Cela m'aiderait aussi si je savais que cela fonctionne pour quelqu'un avec l'un des programmes que j'ai déjà mentionnés. Je commencerai une prime dès que SE me le permettra.
ps j'utilise le serveur Ubuntu 12.04
Conclusion :
Je devais en conclure que pour moi, pour l’instant, il n’existait aucun outil fiable qui fonctionnerait avec les nouveaux formats MS Word et tous ses types d’éléments sur Ubuntu et créerait une copie un-à-un de fichiers docx. Aucun des outils que j'ai testés ne pouvait convertir le fichier exemple correctement. Étant donné que je serai confronté à des types / versions de documents très différents et que la qualité de sortie est l’une des plus hautes priorités, je vais finir par effectuer les conversions au moyen de macros VB dans Word sur un serveur Windows connecté à mon Linux.
Je définirai la publication pour obtenir les meilleurs résultats en tant que réponse acceptée. Cependant, la prime était destinée à une solution avec une conversion absolument correcte. Merci à tous, encore.
la source
Réponses:
Cette réponse réussit tous les tests, mais l'organigramme en est un dans votre document de test.
Pourquoi est-ce mieux que d'autres méthodes suggérées jusqu'à présent?
J'ai testé les autres méthodes suggérées jusqu'à présent (en particulier
oowriter
etebook-convert
), mais elles passent moins de tests que cette méthode. Laebook-convert
méthode supprime les marges et une partie des textes du document.Cette méthode donne même de meilleurs résultats qu'un convertisseur professionnel tel que rainbowpdf .
J'ai également essayé de le convertir en HTML, mais le dessin avec le carré dans le cercle et l'organigramme est incorrect.
Pourquoi le test de l'organigramme échoue-t-il?
Il semble que libreoffice et unoconv rencontrent des problèmes pour restituer correctement l'organigramme contenu dans le fichier .docx. Ceci est probablement dû au fait qu'il a été créé à l'aide d' art intelligent dans Microsoft Office. C'est le problème. C'est un bug également discuté sur ce fil . Les informations textuelles et visuelles sont présentes dans le pdf résultant de la méthode ci-dessus, comme vous pouvez le constater (je devais toutefois sélectionner le texte).
La couleur de la police, par exemple, n'est pas correctement lue et certaines lignes sont trop longues. Je ne connais aucune solution Linux capable d'afficher correctement l'art intelligent. :(
C'est également la raison pour laquelle toutes les
print
solutions affichées sur cette page ne vous satisferont pas.En bref
En bref, ce que vous faites est vraiment difficile et il n’existe actuellement aucune solution qui puisse vous satisfaire pleinement. Le talon d’achille des conversions de docx2pdf est l’art intelligent. Si vous pouvez vivre sans cela ou si vous pouvez trouver un moyen de repérer l' art intelligent et de le convertir en quelque sorte en une image, vous pouvez atteindre votre objectif.
Option 1. Forcer vos utilisateurs à résoudre le problème
C'est une solution très peu élégante. Vos créateurs de contenu pourraient enregistrer leur art intelligent au format jpg comme décrit dans les pages d'aide de Office. La conversion serait donc possible sur votre serveur.
Option 2. Débarrassez-vous du problème
Si les organigrammes sont souvent très similaires et en fonction de votre niveau de développeur, vous pouvez essayer de convertir l’art intelligent séparément. Vous pouvez extraire le fichier drawing1.xml de la grappe de documents .docx, puis utiliser le traitement du langage naturel et quelques astuces loufoques pour reconstruire un art intelligent. Par exemple, vous devriez jouer avec ce type de XML:
Ou, en tant que solution minimale, extrayez au moins le texte (
<a:t>
?) Du fichier et enregistrez-le plus facilement. Ou si les diagrammes de vos fichiers PDF sont tous identiques, vous pouvez écrire un script pour changer la couleur du texte et la longueur de la ligne dans le fichier XML. Ensuite, vous pourriez exécuterdoc2pdf
et vous auriez un fichier qui contient essentiellement toutes les bonnes informations, mais peut-être pas le formatage. Dans le cas des organigrammes, vous voudrez probablement aussi inclure une partie de la mise en forme, car la mise en forme fait partie des informations.Option 3. Utiliser un service tiers
J'ai fait quelques recherches supplémentaires ces derniers jours et j'ai trouvé un service qui effectue la conversion à la perfection: zamzar . Zamzar vous permet de télécharger un fichier docx puis de vous envoyer un lien par courrier électronique. Ils ont également un service (payant?) Où vous pouvez envoyer n’importe quel fichier à [email protected] puis récupérer le fichier converti dans votre boîte de réception. Vous pouvez facilement construire un système autour de cela dans lequel vous envoyez automatiquement le fichier et le analysez à partir du courrier électronique. Ce n’est pas tant de travail et le résultat final est le meilleur.
Remarques
J'ai effectivement pris le temps de tester les différentes méthodes proposées sur cette page. S'il vous plaît sauvegarder tous les commentaires avec des tests réels.
la source
lowriter
is est maintenantlowriter --convert-to pdf input_file.docx
. L'utilisation--pt pdf
échouera silencieusement.Ceci est une solution en ligne de commande qui fonctionne décemment, mais utilise un logiciel propriétaire.
Je pense que le problème fondamental est que les formats de Microsoft Word sont parfaitement compréhensibles juste pour Microsoft Word (même là, il existe des différences entre les versions - il existe des fichiers Word du passé qui s’ouvrent mal formatés dans des versions plus récentes). Toutes les autres solutions sont des approximations et des hacks, elles fonctionneront ou non en fonction du fichier.
Donc, pour être sûr que vous ayez besoin de traiter vos fichiers .docx avec une installation de Microsoft Word (et oui, je pense que c'est leur choix et que c'est juste. Si vous ne voulez pas utiliser Word, ne l'utilisez pas --- je vais avec LaTeX pour mon travail, mais il est difficile de convaincre le reste du monde entier ...).
J'utilise Crossover depuis très longtemps pour exécuter Microsoft Office dans mon bureau Linux (1), et le trouve très utile. Peut-être que ça marche aussi avec le vin - jamais essayé.
Je fais la conversion en utilisant cette configuration:
1) J'ai installé Crossover
2) Ma version de Microsoft Office est installée sous Crossover.
3) Dans Microsoft Word, désactivez "l'impression en arrière-plan"
4) J'ai une
cups-pdf
imprimante installée et sélectionnée comme imprimante par défaut.5) Pour faire la conversion, lancez (astuces ici ):
6) Votre fichier converti apparaîtra dans le
~/PDF/
répertoire.Vous documentez presque parfaitement (il y a un certain désalignement sur la réponse n ° 2, qui est indiqué dans mon Office Word 2007 sous Crossover --- Je ne sais pas si c'est lié à ma version de Windows).
Maintenant, le problème est que l'interface de mot graphique va apparaître --- Je ne sais pas comment le rendre "sans tête". Les options de ligne de commande pour Word n'ont pas aidé ...
(1) Je ne suis aucunement lié à Codeveawers - juste un utilisateur heureux.
la source
J'ai également eu ce problème dans le passé, je n'ai pas eu à l'utiliser récemment, donc je ne sais pas si cela me concerne toujours.
Quant à répondre à la question:
Cette question: Comment convertir en lots .doc ou .docx en .pdf donne une raison dans les commentaires pour laquelle votre conversion
lowriter
pourrait échouer:La réponse à cette question pourrait également aider:
Comment convertir un fichier ODT au format PDF?
Tu courrais
libreoffice --headless --convert-to pdf *.odt
. Vous pouvez obtenir plus d’informations sur libreoffice avec la commandeman libreoffice
si vous avez besoin d’aide pour la comprendre ou la modifier pour fonctionner.Cependant, vous ne pouvez pas ouvrir LibreOffice à ce moment-là, conformément à ce bogue: https://bugs.freedesktop.org/show_bug.cgi?id=37531
Cette question est également liée à Ubuntu, même si elle se trouve sur SuperUser: https://superuser.com/questions/156189/how-to-convert-word-doc-to-pdf-in-linux
La première réponse a deux options, une avec CUPS et la création d'une imprimante PDF, l'autre avec LaTex, bien que vous ayez bien dit que LaTex échouait.
En ce qui concerne la conversion au format PDF via CUPS PDF, vous devez exécuter
sudo apt-get install cups-pdf
suivi deoowriter -pt pdf your_word_file.doc(x)
. Cela pourrait vous aider à résoudre votre problème avec Oowriter.Ceci est probablement un problème avec le fait que vous essayez de convertir au format PDF à partir de DOC / DOCX, lorsque la plupart des outils utilisent ODT, car ils sont liés à LibreOffice / OpenOffice / AbiWord. Ainsi, ils ne parviennent pas à essayer de le convertir à partir du format DOCX de Microsoft ou dans la conversion au format ODT.
Il existe plusieurs bogues lors de la conversion de .docx w. Word Art (la version est incluse):
https://bugs.freedesktop.org/show_bug.cgi?id=33072 - 3.3.0 rc 2 (obsolète, je crois)
https://bugs.freedesktop.org/show_bug.cgi?id=63289 - 4.0.2.2
https://bugs.freedesktop.org/show_bug.cgi?id=62251 - 4.0.0.3
https://bugs.freedesktop.org/show_bug.cgi?id=65260 - Non spécifié
Cela provient du forum LibreOffice concernant la conversion de .doc et quelque peu .docx: http://en.libreofficeforum.org/node/5096 . C'est à partir de janvier 2013, donc cela devrait s'appliquer un peu.
Au-delà de tout cela, je ne sais vraiment pas. J'espère que vous résolvez votre problème!
la source
Si vous avez installé Libreoffice, vous pouvez essayer de convertir en utilisant cela. Appuyez simplement sur Ctrl+ Alt+ Tsur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez les commandes ci-dessous:
Une autre option consiste à installer Cups PDF .
Pour ce faire, appuyez simplement sur les touches Ctrl+ et Alt+ Tde votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez les commandes ci-dessous:
Créez ensuite une nouvelle imprimante, définissez-la en tant qu'imprimante de fichier PDF et nommez-la comme vous le souhaitez, à condition de connaître le nom, puis exécutez:
Et votre fichier PDF sera dans
~/PDF
.la source
Voici la vérité amère: les solutions Office pour Linux sont un échec total! Je suis un utilisateur GNU / Linux à plein temps depuis de nombreuses années et j'ai constamment cherché et essayé différentes solutions bureautiques, de l’ancien Open-Office à la version ultérieure de Libre-Office, Abi-Word, etc. ont tous échoué à m'aider à faire mon travail de bureau. La situation empire même lorsqu'il s'agit de langues autres que les langues latines (langues de droite à gauche telles que le persan, l'arabe, etc.). L'utilisateur doit se battre avec ces logiciels pour faire son travail! Et la compatibilité de Microsoft Office n’est tout simplement pas là. Je peux parler des heures et des heures de tout ce que j'ai essayé et ils m'ont tous échoué, mais ce n'est pas le but de cette question.
J'ai également essayé d'installer et d'exécuter Microsoft Office à l'aide de WINE, et certains ont bien fonctionné, mais cela n'a pas fonctionné correctement et il est tombé en panne lorsque j'ai essayé d'ouvrir mes fichiers Office.
LaTeX va bien, mais ce n'est pas une solution bureautique. LaTeX est pour la composition de caractères, et ressemble plus à un outil de pro, et il n'y a pas de feuilles de calcul, ni de présentations.
Alors, quelle est la solution?
Ce n'est pas une solution de ligne de commande. La seule solution que j'ai imaginée au cours de toutes ces années pour me garder dans mon système d’exploitation GNU / Linux et également effectuer les travaux de mon bureau est d’utiliser une installation minimale de Microsoft Windows sur une machine virtuelle (telle que VirtualBox) et d’installer le logiciel. un costume Microsoft Office.
Cela peut ne pas sembler joli, mais c’est la seule solution qui fonctionne parfaitement et m’empêche de me battre contre des solutions de bureau médiocres pendant mon temps précieux. Au début, je pensais moi-même que ce n'était pas une bonne solution, mais après avoir échoué avec tous les autres et avoir fait ce travail de VM pendant plus de 2 ans, j'en suis vraiment content.
:)
=============================================== ==============================
NOTE 1: je ne fais pas de publicité pour les produits Microsoft! J'essaie juste d'aider à résoudre le problème et de passer à autre chose.
NOTE 2: Comme souligné ci-dessus, il ne s'agit PAS d'une solution de ligne de commande. Alors, pourquoi poster la réponse? Parce que c'est une option testée et performante! Si aucune solution de ligne de commande WORKING n'est disponible (ce dont je soupçonne fortement le cas), disposer d'une option ALTERNATIVE est préférable à NO.
la source
wine
la machine virtuelle?WINE
n'a pas été satisfaisante. Le programme ne fonctionnait pas comme il le faisait sous Windows (comportement incorrect) et s'est également écrasé!Voici quelques applications que vous pouvez essayer et voir si elles fonctionnent avec FF Multi Converter ou essayer Kingsoft Office .
la source
Installez Calibre à partir du Centre logiciel ou de Synaptic et définissez la sortie par défaut sur PDF.
À partir d'une invite du shell, effectuez
la source
ValueError: No plugin to handle input format: docx
. Google n'a pas aidé sur celui-ci, je vais donc signaler un bug.