4 votes

Comment convertir un document OpenOffice en PDF à partir de la ligne de commande Linux ?

J'ai des étudiants qui, lorsqu'on leur demande un PDF, me remettent parfois un document OpenOffice ou une feuille de calcul. file(1) peut identifier ces documents, mais je n'ai pas réussi à découvrir comment les convertir en PDF à l'aide de la ligne de commande. (La page de manuel de ooffice(1) énumère une option pour imprimer un document mais pas pour le convertir en PDF). Google n'est d'aucune aide, si ce n'est qu'il me donne le sentiment désagréable que cela ne peut pas être fait sans un script astucieux dans un langage que je ne connais pas contre une API dont je ne trouve pas la documentation.

Quelqu'un peut-il m'aider à résoudre le problème de la conversion d'un OpenDocument en PDF en utilisant uniquement la ligne de commande Unix ?

6voto

Charly Points 311

Je pense que le moyen le plus simple serait de configurer une imprimante PDF sur votre ordinateur et ensuite.. :

ooffice -pt pdfprinter studentwhodoesntfollowdirectionswell.odt

Edita: Je viens de trouver un message sur les forums Ubuntu avec quelqu'un qui est arrivé à la même solution que j'ai suggérée (avec des instructions très pratiques). impression au format pdf à partir d'une ligne de commande [SOLVÉ].

Edit 2 : Je viens de tomber sur unoconv qui est un script Python qui utilise les liaisons UNO d'OOo. Je voulais donc juste mettre à jour cette réponse

1voto

Dalroth Points 2468

Je fais cela en utilisant coupes-pdf . Vous devez avoir installé OpenOffice et l'exécuter en mode sans affichage pour que l'application ne lance pas d'interface graphique.

l'imprimante PDF est généralement dans les dépôts, il suffit donc de sudo apt-get install cups-pdf o yum install cups-pdf .

Ensuite, vous devrez installer l'imprimante. Si vous le souhaitez, vous pouvez installer une imprimante via la ligne de commande .

Si vous installez une imprimante via l'interface graphique (sur Ubuntu), c'est aussi simple que Système -> Administration -> Impression . Cliquez sur la flèche et sélectionnez Nouvelle imprimante :

alt text

Passez par l'assistant et notez le nom de votre imprimante, vous en aurez besoin dans la ligne de commande. Comme vous pouvez le voir, j'ai utilisé cups-pdf :

alt text

Terminez l'assistant et vous êtes prêt à convertir. Ouvrez un terminal et exécutez :

ooffice -headless -nologo -pt cups-pdf doc.odt

Sous votre répertoire personnel, vous aurez un dossier PDF. Vous y trouverez votre document converti.

1voto

schuelermine Points 101

$oowriter --convert-to pdf --invisible nom.odt

C'est tout. Si votre CLI est graphique, vous pouvez omettre l'option "--invisible". Testé sur opensuse 12.3.

1voto

sivann Points 161

Avec le libreoffice fourni avec CentOS 7 (4.1.4) :

soffice --headless --convert-to pdf  file.odt 
soffice --headless --convert-to doc  file.odt 
soffice --headless --convert-to html file.odt 

soffice et libreoffice sont le même binaire aimé l'un à l'autre. oowriter est script qui appelle libreoffice --writer. Donc ce qui précède devrait fonctionner pour tous les dérivés de staroffice (libreoffice, openoffice).

Je l'utilise pour convertir des centaines de documents par jour, il fonctionne bien.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X