Comment convertir par lots .doc ou .docx en .pdf

18

Je dois convertir par lots un ensemble de fichiers .docou dans un terminal, sans utiliser d'interface graphique..docx.pdf

Il serait utile que je puisse traiter plusieurs fichiers par lots.

Je voudrais également conserver autant de métadonnées que possible.

Ringtail
la source
La meilleure réponse est d'installer une autre application et d'utiliser une "imprimante pdf". Qu'est-ce qui ne va pas en utilisant une méthode CLI ou vais-je perdre les métadonnées
Ringtail
Je n'ai pas dit qu'il y avait quelque chose de mal avec oowriter, gscan2pdf ou toute autre méthode GUI. Je cherchais la CLI alors j'ai l'intention de l'intégrer dans le .bashrc pour que je puisse pdf ~/some_.docx, c'est tout. Merci pour la suggestion.
Ringtail
1
Voir aussi cette réponse .
Takkat
@Takkat - Cette réponse le met dans une zone en double pour moi.
RobotHumans

Réponses:

28

lowriter peut être utilisé comme un outil de ligne de commande (lowriter fait partie de LibreOffice)

lowriter --convert-to pdf *.doc
convert /home/bodhi/Documents/testdoc2.doc -> /home/bodhi/Documents/testdoc2.pdf using writer_pdf_Export
convert /home/bodhi/Documents/testdoc.doc -> /home/bodhi/Documents/testdoc.pdf using writer_pdf_Export

evince testdoc.pdf

Je n'ai pas de fenêtres, alors téléchargez testdoc d'ici

www.mltweb.com/prof/testdoc.doc

Panthère
la source
libreofice lève des erreurs en utilisant cette méthode, se plaint de ne pas trouver /home/user/documents/test.docx blah
Ringtail
quelle commande avez-vous utilisée? Avez-vous un test.docx?
Panther
1
Fonctionne parfaitement pour moi! Méfiez-vous de l'utilisation du caractère "espace" à partir de la ligne de commande ... Lorsque vous arrivez au caractère espace, appuyez simplement sur "tab";)
Pitto
1
lowriter ne convertit pas correctement les fichiers docx. Du moins pas toujours.
Sceptique Jule
1
Lorsque j'ai essayé pour la première fois votre lowritercommande suggérée sur Ubuntu 12.04, elle a ouvert une fenêtre de démarrage et s'est figée. Je l'ai tué avec Cc et réessayé sans DISPLAYvariable. Cette fois, il a d'abord imprimé une erreur sur l'affichage manquant, mais convertit le document sans aucun problème. Est-ce un comportement attendu que la commande ne peut fonctionner que sans DISPLAYvariable d'environnement?
kasperd
7

J'utilise unoconv, qui convertit tous les formats pris en charge par LibreOffice.

Francisco Dreyfuss
la source
1
Juste pour mémoire: $ unoconv myfile.docx(ça crée myfile.pdf)
tokland
3

J'utilise le script suivant:

for f in *.doc
do
lowriter --headless --convert-to pdf "$f"
done

--headless empêchera Libreoffice d'ouvrir des centaines de fichiers et éventuellement de planter si vous essayez ceci avec des répertoires contenant beaucoup de fichiers .doc

Bruni
la source
0

À mon avis, le meilleur moyen est avec unoconv.

Installez d'abord le package:

sudo apt install unoconv

puis convertissez en pdf en utilisant cette commande:

unoconv -f pdf XXYY.docx

(Remplacez XXYY.docxpar le nom de votre fichier.)

user882893
la source
Raisons pour lesquelles vous choisiriez unoconv plutôt que d'autres options?
gatorback le