0
     String[] cmd = {
"gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=     C:\\Users\\342008\\Desktop\\t\\Pa_10_12.pdf C:\\Users\\342008\\Desktop\\t\\P1_10_12.pdf"
};
try {
     Runtime.getRuntime().exec(cmd);
    } catch (IOException e) {}

コマンドラインargumenetの助けを借りてPDFファイルサイズを縮小するためにゴーストスクリプトを使用しようとしています、上記の入力文字列オブジェクトcmdのIOexceptionを取得しています、誰かがこのコマンドを実行してゴーストスクリプトを使用するのを手伝ってもらえますか?

4

1 に答える 1

3

まず、pdfwrite デバイスを介して PDF ファイルを実行するとファイルが小さくなる可能性がありますが、これはデバイスの目的ではなく、より大きなファイルが生成される状況があります。

本当にこれを行いたい場合は、-dPDFSETTINGS スイッチを使用しないでください。各パラメーターを個別に設定する代わりに、時間をかけてドキュメントを読み、その機能を確認して、十分な情報に基づいた選択ができるようにしてください。

使用しているオペレーティング システムや Ghostscript のバージョンについては言及されていませんが、いくつかの問題が考えられます。

1) Ghostscript 実行可能ファイルは、すべてのオペレーティング システムで「gs」と呼ばれているわけではありません。間違った名前を使用している可能性があります。パラメータの構文から、これが Windows システムであると思われます。この場合、実行可能ファイルは gswin32 (ウィンドウ バージョンの場合) または gswin32c (コマンド ライン バージョンの場合) と呼ばれます。

2) 実行可能ファイルへのパスを指定していません。これは、実行可能ファイルが OS の検索パス (通常は %PATH% 環境変数) にある場合にのみ機能します。

コマンドラインに「-sOutputFile= C:\Users\342008\Desktop\t\Pa_10_12.pdf」が含まているようです。パラメーターに余分なスペースを入れないでください。そこに記述した内容により、GS は空の名前の出力ファイルを想定し、そのファイル名を処理用の入力ファイルとして扱います。

Java でこれを試す前に、オペレーティング システムのコマンド ラインからコマンドを実行することをお勧めします。それがうまくいかない場合は、Javaからもうまくいきません......

于 2013-01-18T08:20:22.987 に答える