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.