2

私がやろうとしているのは、ghostcript を使用して単なる画像である ps を jpg に変換することです。

gswin32c.exe -sDEVICE=jpeg -sOutputFile="test.png" example.ps

ただし、これを実行すると、jpgの右側と下部に多くの空白が表示されます

ここに画像の説明を入力

また、画像が大きくなります Ghostscript の空白を切り取る方法はありますか?

このコードを試しました

gswin32c.exe -sDEVICE=jpeg  -dBATCH -dNOPAUSE -dSAFER -r72x72 -g200x900 -sOutputFile="test.jpg" example.ps

幅は減りますが、高さはまだ巨大です。解決策はありますか?

4

3 に答える 3

1

pstoepsを使用してタイトなバウンディングボックスを見つけ、次にpbmtoolsを使用してjpgに変換します。

pstoeps file.ps | pstopnm - | pnmtojpg - > file.jpg

後の2つがない場合は、http://netpbm.sourceforge.net/を参照してください。

pstoepsがバウンディングボックスの計算を強制するためのスイッチを必要とするかどうかは今のところ思い出せませんが、manページはかなり明確になっているはずです。

編集:実際に試さずに投稿するためのアポリー。

ghostscriptがパックされているコンバーターはps2epsiであり、stdoutにパイプされないため、次のようにします。

ps2epsi file.ps

これにより、file.epsiが作成されます。次に、以下を実行します。

pstopnm -portrait -xborder 0 -yborder 0  file.epsi -stdout | pnmtojpeg > file.jpeg

考え直して(eps変換をスキップして)より良い別のアプローチはこれです:

pstopnm -portrait  file.ps -stdout | pnmcrop | pnmtojpeg > file.jpeg
于 2012-12-11T13:10:45.180 に答える
1

まず、「正しい」メディア サイズを設定する必要があります。すでに発見した -g スイッチを含むいくつかの方法があります。

下部の余白は (おそらく) ファイルの作成方法が原因です。PostScript 座標は左下から始まり、ページを右に進むにつれて増加します。多くのコンピュータ システムは左上から始まり、下に行くにつれて増加します。これを模倣するために、ドキュメントはおそらく垂直を「反転」し (ページを下るにつれて値が増加するように)、最初の点をオフセットして、設計されたメディアの左上から開始するようにします。

-c .... -f スイッチを使用してコマンド ラインに PostScript を追加できます。画像化された部分を移動するために、ある種の垂直方向の変換を追加する必要があります。元の PostScript で変換がどのように行われたかによって、正または負のオフセットを追加する必要がある場合があります。0 -100 の変換を試してから、画像が出力上でどのように移動するかを確認します。

または、(pdfwrite デバイスを使用して) ファイルを PDF に変換し、CropBox を適用します。

于 2012-12-11T08:28:14.737 に答える