Specificare le opzioni di stampa su LibreOffice sulla riga di comando?


3

Sto tentando di inventare un modo per convertire .pptx file in formato PDF dalla riga di comando. Ho creato a cups-pdf stampante a cui io può effettivamente inviare lavori, e finora ho riassunto il seguente comando:

libreoffice -pt PDF somePowerpointFilePath.pptx

dove PDF è il nome della mia stampante. Come è, comunque, libreoffice stampa i miei documenti in orientamento verticale quando vorrei usare il panorama.

Ho dato un'occhiata a queste domande, ma nessuna sembra soddisfare le mie esigenze qui.

https://superuser.com/questions/486130/printing-from-the-command-line-with-libreoffice-lpr-commands
https://superuser.com/questions/135495/how-do-i-convert-this-filetype-to-pdf

Ho anche letto sul unoconv opzioni, ma preferirei non dover giocare con le mie librerie Python per ottenere questo set up.

Ho anche notato il --convert-to opzione per il libreoffice comando, ma non si sta comportando come me lo aspetto. Mi aspetto di poterlo usare da libreoffice --convert-to pdf myFileName.pptx, ma questo comando funziona in men che non si dica (dicendo quando lavori con libreoffice), e non sembra depositare alcun tipo di file pdf nella directory di lavoro corrente (come dovrebbe fare secondo la pagina man) .

Se qualcuno può fare luce su come far funzionare uno di questi due approcci (stampando tramite CUPS o usando il --convert-to opzione), lo apprezzerei.


qualche volta Questo ti aiuterò.
Renju Chandran chingath

Posso ottenere ciò che descrivi per mezzo di libreoffice --headless --convert-to pdf mystuff.pptx; lp -d myprinter -o landscape mystuff.pdf . Dovresti quindi darci qualcosa in più, uscita dmesg, messaggi di errore, file di log, per capire cosa sta succedendo. Ripeto, questi comandi funzionano perfettamente sul mio sistema.
MariusMatutiae

Bene, non posso replicare il problema (in mia difesa, 23 giorni). Grazie mille per i commenti generosi e utili, ma mi sembra di essere in grado di utilizzare echo *.pptx | xargs -L 1 libreoffice --headless --convert-to pdf {}, senza bisogno del secondo passaggio per stampare nuovamente il file con lp per correggere l'orientamento. Probabilmente è stato un errore idiota da parte mia, specificando erroneamente alcune delle sintassi libreoffice. Qual è la migliore etichetta per chiudere questa domanda in questa situazione? Dovrei eliminarlo? Se ho una supposizione su cosa stavo facendo male, dovrei postarlo come risposta?
matthugs

@matthugs Sì, sei invitato a pubblicare le risposte alla tua domanda se ne hai una.
Jason

Risposte:


0

È possibile eseguire LibreOffice in modalità 'senza testa' (vale a dire come utilità della riga di comando senza una GUI). Ma non funzionerà se allo stesso tempo un'istanza di LibreOffice è in esecuzione con una GUI.

Un comando per fare ciò che vuoi anche se un'istanza della GUI è attiva allo stesso tempo potrebbe sembrare simile a questa:

mkdir $HOME/pdf ;
/path/to/soffice                                   \
   --headless                                      \
   --infilter="Microsoft PowerPoint 2007/2010 XML" \
   "-env:UserInstallation=file:///tmp/LibreOffice_Conversion_${USER}" \
   --convert-to pdf:impress_pdf_Export             \
   --outdir $HOME/pdf                              \
     test.docx

Qui 'Soffice' è uno strumento da riga di comando che è installato in ogni installazione di LibreOffice. Molto probabilmente è dentro /usr/bin/soffice.

Per maggiori dettagli vedi la mia altra risposta, oltre a StackOverflow:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.