Site Tools


software:troubleshoot:ps2pdf

This is an old revision of the document!


Troubleshoot ps2pdf

This page investigates why ps2pdf under windows doesn't accept certain command line parameters like:

  • -sPAPERSIZE=a4 (Obviously you should use double quotes: “-sPAPERSIZE=a4”

When trying to convert a ps file to pdf, we should use the following command:

ps2pdf in.ps out.pdf

With the above command the papersize defaults to the system locale setting, which is letter. For a4 papersize we should use:

ps2pdf "-sPAPERSIZE=a4" in.ps out.pdf

Mind the double quotes. Curiously this command doesn't produce an a4 page size.

Because ps2pdf is just a kind of wrapper for gswin32c, trying the following command below directly with gswin32c produces an a4 page:

gswin32c "-sPAPERSIZE=a4" -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -o out.pdf -f in.ps

while:

gswin32c "-sPAPERSIZE=letter" -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -o out.pdf -f in.ps

Produces a letter sized pdf file.

To find out why ps2pdf doesn't work as expected, I try to dissect the procedure.

Windows NT cmd files

In the ghostscript lib directory (C:\Program Files\gs\gs8.56\lib) there are the following related files:

  • ps2pdf.cmd

ps2pdf.cmd

/* $Id: ps2pdf.cmd 6300 2005-12-28 19:56:24Z giles $ */
/*
 * This file is maintained by a user: if you have any questions about it,
 * please contact Mark Hale (mark.hale@physics.org).
 */
 
/* Convert PostScript to PDF 1.4 (Acrobat 4-and-later compatible). */
/* The PDF compatibility level may change in the future: */
/* use ps2pdf12 or ps2pdf13 if you want a specific level. */
 
parse arg params
 
gs='@gsos2'
inext='.ps'
outext='.pdf'
 
if params='' then call usage
 
options=''
 
/* extract options from command line */
i=1
param=word(params,i)
do while substr(param,1,1)='-'
	options=options param
	i=i+1
	param=word(params,i)
end
 
infile=param
if infile='' then call usage
outfile=word(params,i+1)
if outfile='' then do
	outfile=infile''outext
	infile=infile''inext
end
 
gs options '-q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile='outfile options '-c save pop -f' infile
exit
 
usage:
say 'Usage: ps2pdf [options...] input[.ps output.pdf]'
exit
software/troubleshoot/ps2pdf.1254661918.txt.gz · Last modified: 2009/10/04 15:11 by admin