Domanda

Ho un problema nel tentativo di convertire un documento PDF in un documento PCL utilizzando Ghostscript.

Il documento pdf originale è orizzontale e quindi dovrebbe esserlo anche il pcl.Tuttavia in Windows si utilizza Ghostscript 9.14 con le seguenti funzioni di comando:

gswin32 -dNOPAUSE -dBATCH -sDEVICE=ljet4 -dSAFER -dAutoRotatePages=/NONE -sPAPERSIZE=a4 -sOutputFile=./convert_windows.pcl ./duplicate_windows.pdf

Lo stesso comando in Ubuntu Linux Kernel Versione 3.2.0-40-generico a 64 bit - ma con Ghostscript 9.05 - risulta in un file pcl orientato in modo errato di dimensione A3 anziché A4 come l'originale.

Il file pdf originale contiene il carattere Windows "arial", che dovrebbe essere disponibile anche in Linux.Il pacchetto "msttorcefonts" è installato su Linux.Questo è un breve estratto della fontmap di Ghostscript:

cat /usr/share/ghostscript/9.05/Resource/Init/Fontmap.GS

dà:

% This font, and only this font among the Hershey fonts, uses
% the SymbolEncoding.

/Hershey-Symbol                         (hrsyr.gsf)     ;       % 5066567

/Arial                                  /ArialMT                ;
/Arial,Bold                             /Arial-BoldMT           ;
/Arial,Italic                           /Arial-ItalicMT         ;
/Arial,BoldItalic                       /Arial-BoldItalicMT     ;

L'elenco seguente mostra l'output della riga di comando di Linux, che è lo stesso output della console Ghostscript di Windows!

GPL Ghostscript 9.05 (2012-02-08)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 2.
Page 1
Loading NimbusMonL-Bold font from /usr/share/fonts/type1/gsfonts/n022004l.pfb... 3627296 2211468 1767360 473754 3 done.
Loading NimbusSanL-Bold font from /usr/share/fonts/type1/gsfonts/n019004l.pfb... 3668288 2319461 1807728 497748 3 done.
Loading NimbusSanL-Regu font from /usr/share/fonts/type1/gsfonts/n019003l.pfb... 3800176 2466391 1827912 512832 3 done.
Loading NimbusMonL-Regu font from /usr/share/fonts/type1/gsfonts/n022003l.pfb... 3964224 2617715 1969200 654805 3 done.
Page 2

Ho già provato diverse opzioni di Ghostscript come

-dFIXEDMEDIA
-dNORAGEPAGESIZE

e altri.

Quando si converte il documento pdf in ps il risultato è lo stesso su entrambi gli ambienti.

Qualcuno ha esperienze con questo problema o un'idea?

Grazie in anticipo e cordiali saluti

È stato utile?

Soluzione 2

Questa potrebbe essere una possibile soluzione, che funziona nel mio caso. Precondizione:Ghostscript versione 8.6.0 o successiva!

Convertire pdf in ps non con il comando gs, ma con il wrapper gs pdf2ps, che fa parte del pacchetto ghostscript:

pdf2ps input.pdf output.ps

MA: Per i documenti PDF orizzontali funziona solo dalla versione 8.60 o successiva!Altrimenti i documenti orizzontali verranno stampati in verticale.

La conversione di pdf in pcl ha funzionato per me utilizzando il seguente comando:

gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=ljet4 -sPAPERSIZE=a4 -sOutputFile=output.pcl -c "<< /InputAttributes << currentpagedevice /InputAttributes get { pop null } forall >> dup 0 << /PageSize [ 595 842 ] >> put >> setpagedevice" save pop -f input.pdf

MA: Questo comando si basa sulla documentazione del Bug Bug 689919 di ghostscript (fare riferimento a http://bugs.ghostscript.com/show_bug.cgi?id=689919) e funziona con documenti con orientamento verticale solo se hai installato la versione 8.60 o successiva.Poiché ho tre ambienti diversi, posso approvare che questo comando funzioni dalla versione 8.60.Ho usato le versioni 8.16, 8.62 e 9.05.

Per le versioni 8.62 e 9.05 di ghostscript entrambi i comandi funzionavano correttamente per pdf --> ps e pdf --> pcl per orizzontale e verticale.

Altri suggerimenti

È improbabile che qualcuno possa aiutarti senza vedere il file PDF originale, quindi suggerirei di aprire una segnalazione di bug e allegare lì il file PDF.

Alcune osservazioni:

-dAutoRotatePages ha effetto solo durante la creazione di un file PDF, non durante l'interpretazione.

Lo switch -dFIXMEDIA dovrebbe essere -dFIXEDMEDIA, allo stesso modo NORAGEPAGESIZE dovrebbe essere NORANGEPAGESIZE

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top