Question

J'ai un problème à essayer de convertir un document PDF en un document PCL à l'aide de Ghostscript.

Le document PDF d'origine est le paysage et le PCL devrait donc être aussi. Néanmoins sous Windows utilisant Ghostscript 9.14 avec les fonctions de commande suivantes:

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

La même commande dans Ubuntu Linux Kernel version 3.2.0-40-Générique 64 bits - mais avec Ghostscript 9.05 - Résultats dans un fichier PCL malétiqué de taille A3 au lieu de A4 comme l'original.

Le fichier PDF d'origine contient la police Windows "ARIAL", qui doit également être disponible sous Linux. Le package "msttorcefonts" est installé sur Linux. Ceci est un court extrait de FontMap of Ghostscript:

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

donne:

% 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 liste suivante indique la sortie de la ligne de commande Linux, qui est la même sortie que de la console 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

J'ai déjà essayé plusieurs options de Ghostscript comme

-dFIXEDMEDIA
-dNORAGEPAGESIZE

et autres.

Lors de la conversion du document PDF en PS, le résultat est le même sur les deux environnements.

Quelqu'un a-t-il des expériences avec cette question ou une idée?

Merci d'avance et de gentillesse

Était-ce utile?

La solution 2

Cela peut être une solution possible, qui fonctionne dans mon cas. Préconfection: Version Ghostscript 8.6.0 ou plus!

convertir pdf en ps non avec la commande gs, mais avec gs wrapper pdf2ps , qui fait partie du package Ghostscript:

pdf2ps input.pdf output.ps

mais: pour le paysage PDF documents uniquement depuis la version 8.60 ou supérieure! Sinon, les documents de paysage seront imprimés en portrait.

convertir pdf en PCL a travaillé pour moi en utilisant la commande suivante:

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

mais: Cette commande est basée sur la documentation de Bug Bug 689919 de Ghostscript (voir http://bug.ghostscript.com/show_bug.cgi?id=689919 ) et fonctionne pour des documents portraitisés uniquement si vous avez installé une version 8.60 ou plus. Parce que j'ai trois environnements différents, je peux approuver que cette commande fonctionne depuis la version 8.60. J'ai utilisé des versions 8.16, 8.62 et 9.05.

Pour les versions 8.62 et 9.05 de Ghostscript, les deux commandes fonctionnent correctement pour PDF -> PS et PDF -> PCL pour paysages et portrait.

Autres conseils

Son improbable que tout le monde puisse vous aider sans voir le fichier PDF d'origine. Je vous suggère donc d'ouvrir un rapport de bogue et de joindre le fichier PDF là-bas.

Quelques observations:

-dautorotatePages n'a qu'un effet lors de la création d'un fichier PDF, pas lors de l'interprétation d'une.

Le commutateur -DFIXMedia doit être -DFixedmedia, également noragepagesifique doit être NorangePagesifie

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top