Pregunta

Tengo un problema al intentar convertir un documento PDF a un documento PCL usando GhostScript.

El documento PDF original es el paisaje y, por lo tanto, el PCL debe ser así. Sin embargo, en Windows usando GhostScript 9.14 con las siguientes funciones de comando:

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

El mismo comando en Ubuntu Linux Kernel versión 3.2.0-40-genérico 64 bit: pero con GhostScript 9.05: resulta en un archivo PCL orientado incorrecto A3 en lugar de A4 como el original.

El archivo PDF original contiene la fuente de Windows "Arial", que también debería estar disponible en Linux. El paquete "MSTTORCEFONTS" está instalado en Linux. Este es un extracto corto del fontmap de Ghostscript:

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

da:

% 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     ;

La siguiente lista muestra la salida de la línea de comandos de Linux, ¿cuál es la misma salida que desde la consola de Windows Ghostscript?

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

Yo Altredy intenté varias opciones de Ghostscript como

-dFIXEDMEDIA
-dNORAGEPAGESIZE

y otros.

Al convertir el documento PDF a PS, el resultado es el mismo en ambos entornos.

¿Alguien tiene experiencias con ese problema o una idea?

Gracias de antemano y amable Saludos

¿Fue útil?

Solución 2

Esta puede ser una solución posible, que funciona en mi caso. condición previa: la versión de GhostScript 8.6.0 o superior!

Convertir PDF a PS no con comando GS, pero con WRPPER GS pdf2ps , que forma parte del paquete Ghostscript:

pdf2ps input.pdf output.ps

pero: para los documentos de PDF de Paisaje ¡Esto funciona solo desde la versión 8.60 o superior! De lo contrario, los documentos del paisaje serán impresos en retrato.

Convertir PDF a PCL trabajó para mí usando el siguiente 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

pero: Este comando se basa en la documentación del error de error 689919 de Ghostscript (consulte http://bugs.ghostscript.com/show_bug.cgi?id=689919 ) y trabaja para documentos orientados a la retrato solo si ha instalado una versión 8.60 o superior. Debido a que tengo tres entornos diferentes, puedo aprobar, que este comando funciona desde la versión 8.60. Usé las versiones 8.16, 8.62 y 9.05.

Para las versiones 8.62 y 9.05 de los comandos GhostScript, ambos comandos funcionaron correctamente para PDF -> PS y PDF -> PCL para paisaje y retrato.

Otros consejos

Es poco probable que cualquiera pueda ayudar en absoluto sin ver el archivo PDF original, por lo que sugeriría que abra un informe de errores y adjunte el archivo PDF allí.

Algunas observaciones:

-DautorotatePages solo tiene un efecto al crear un archivo PDF, no al interpretar uno.

El interruptor -dfixmedia debe ser -dfixedmedia, también NoragePagesize debe ser NorangePagesize

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top