mentre io sono in grado di convertire una pagina specifica di un PDF in un PNG in questo modo:Utilizzando Ghostscript in modalità server per convertire file PDF in PNG
gs \
-dSAFER \
-dBATCH \
-dNOPAUSE \
-sDEVICE=png16m \
-dGraphicsAlphaBits=4 \
-sOutputFile=gymnastics-20.png \
-dFirstPage=20 \
-dLastPage=20 \
gymnastics.pdf
mi chiedo se posso usare in qualche modo la modalità JobServer di Ghostscript elaborare più conversioni senza dover sostenere il costo di avviare ghostscript ogni volta.
da: http://pages.cs.wisc.edu/~ghost/doc/svn/Use.htm
-dJOBSERVER
Definire
\004 (^D)
per iniziare un nuovo lavoro incapsulato utilizzato per la compatibilità con Adobe PS interpreti che di solito eseguito in un server di lavoro. L'interruttore-dJOBSERVER
viene ignorato se i server di lavoro sempre eseguono l'input PostScript con un livello di salvataggio, sebbene l'operatore Exitserver possa essere utilizzato per uscire dal lavoro incapsulato ed eseguire come se fosse stato specificato-dNOOUTERSAVE
.Ciò richiede anche che l'input sia da stdin, altrimenti un errore risulterà
(
Error: /invalidrestore in --restore--
).Esempio di utilizzo è:
gs ... -dJOBSERVER - < inputfile.ps -or- cat inputfile.ps | gs ... -dJOBSERVER -
Nota: Il
^D
non sfociare in un'azione di fine file stdin come sia su alcune stampanti PostScript che si basano su TBCP (Tagged Binary Protocollo di comunicazione) per causare un^D
fuori banda per segnalare EOF in un flusso dati di input. Ciò significa che le azioni dirette sui file su stdin comeflushfile
eclosefile
influenzeranno l'elaborazione dei dati oltre lo^D
nello stream.
l'idea è di eseguire ghostscript in-process. lo script riceverebbe una richiesta per una particolare pagina di un pdf e userebbe ghostscript per generare l'immagine specificata. preferirei non avviare un nuovo processo Ghostscript ogni volta.
Hai provato la soluzione suggerita al tuo problema? –