2016-08-30 42 views
1

GhostscriptでEPSファイルをPDFに変換して、ページサイズと向きを指定したいと考えています。私はEPSファイルをPDFファイルに変換できます:GhostscriptでPDFページサイズを指定する

C:\Program Files (x86)\gs\gs9.19\lib>ps2pdf D:\temp\Dmap-396.eps D:\temp\result.pdf 

私はページサイズや向きを変更することができませんでした。私は試していた:

ps2pdf D:\temp\Dmap-396.eps D:\temp\result.pdf -dDEVICEWIDTHPOINTS=734.4 -dDEVICEHEIGHTPOINTS=475.2 -dFIXEDMEDIA 

私はPDFのページサイズと向きをどのように変更できるか知っていますか?私は他のツール、特にPythonスクリプトで使うことができるならば、それを公開しています。

最終的に、私は以下であるもののようにPythonスクリプトでこのコードを実行したいが、私はUnrecoverable error: typecheck in .putdeviceprops

from subprocess import check_output 
from subprocess import call 
from time import sleep 

somecommand = "ps2pdf -dDEVICEWIDTHPOINTS=734.4 
    -dDEVICEHEIGHTPOINTS=475.2 -dFIXEDMEDIA -dPDFFitPage 
    D:\\temp\\Dmap-396-3-9.eps D:\\temp\\result.pdf".split(" ") 

call(somecommand, shell=True) 

エラーが発生します~~~~~~~~~~~~~~~~~ -dDEVICEHEIGHTPOINTSと-dDEVICEHEIGHTPOINTSを使用して必要なメディアをセットし

from subprocess import check_output 
from subprocess import call 
from time import sleep 
import ghostscript 

somecommand = "gswin32c -o D:\\temp\\output.pdf -dDEVICEWIDTHPOINTS=734.4 
-dDEVICEHEIGHTPOINTS=475.2 -sDEVICE=pdfwrite -f D:\\temp\\Dmap.eps".split(" ") 
call(somecommand, shell=True) 

答えて

1

、また、設定-dFIXEDMEDIA:~~~~~~ はここに私の作業のPythonスクリプトです。指定する幅/高さの設定は、基本的にはデフォルトです。入力が何か他のものを要求するまで使用されます。 FIXEDMEDIAを設定すると、固定、変更不可になります。

ほとんど確実に -dPDFFitPageを設定して元のメディアが新しいメディアに収まるようにコンテンツの縮尺を調整したい場合。そうしないと、コンテンツのビットが新しいサイズのメディアから落ちます。

ああ、スイッチの順番は重要ですが、の前に入力してください。入力ファイルの後に来てください。 ps2pdfシェルスクリプトを使用するのではなく、Ghostscript自体を使用します。

+0

オプションの順序が 'ps2pdf -dDEVICEWIDTHPOINTS = 734.4 -dDEVICEHEIGHTPOINTS = 475.2 -dFIXEDMEDIA D:\ temp \ Dmap.eps D:\ temp \ result.pdf'に変更されました。「回復不能なエラー:.putdeviceprops'のtypecheck。 Windows 7でこのエラーが発生しました。私がUbuntu 14.04に入力したときに正常に動作します。 –

+0

私はPDF作成を実行できるように私が働きたいと思うPythonスクリプトを私の質問に追加しました。 –

+0

ps2pdfシェルスクリプトではなく、Ghostscriptを使うのが最適です。それ以外の理由がない場合は、コマンドが何であるかを正確に見ることができます。私はあなたの問題は、-d .... POINTSは整数であると予想していると思います。分数ポイントを持つことはできません。したがって、型チェックエラーです。 – KenS

関連する問題