3

Ghostscriptを使用して複数ページのPDFを個々のJPEGファイルに変換し、のように番号が付けられたファイルを出力できるようにしていますpage_%03d.jpg

ただし、常にpage_001.jpgから始まり、page_000.jpgから始まる出力ファイルの番号付けを開始する必要があります。

Ghostscriptをゼロから開始するために使用できる設定はありますか、それとも処理後にすべてのファイルの名前を変更する必要がありますか?

4

2 に答える 2

7

うーん...トリッキーな質問です。-sOutputFile=string_%03d.jpeg-syntax を微調整してゼロから開始する方法はないと思います。

しかし、ちょっとした回避策で試してみてはどうでしょうか。

秘訣は、PDF ファイルの処理に 2 つのパスを使用することです

  1. 最初のパス: Ghostscript による処理をページ 2 から最後まで行う。このパスのページ番号は引き続き 1 から始まります。ただし、連続する各ページには、-1 ずつオフセットされたファイル名が付けられます。
  2. 2 番目のパス: Ghostscript による処理をページ 1 の後で停止し、出力ファイル名をハードコーディングして、目的のゼロ番号を含めます。

以下は、明示的に記述された 2 つのコマンドです。

  1. 最初のパス:

    gswin32c.exe ^
       -o c:/path/to/output/page_%03d.jpg ^
       -sDEVICE=jpeg ^
       [...more options as needed...] ^
       -dFirstPage=2 ^
       -f c:/path/to/input.pdf
    

    これにより、次のようになります。

     first page processed, page 2 ....... named as page_001.jpg
    second page processed, page 3 ....... named as page_002.jpg
     third page processed, page 4 ....... named as page_003.jpg
    [...]
    
  2. 2 回目のパス:

    gswin32c.exe ^
       -o c:/path/to/output/page_000.jpg ^
       -sDEVICE=jpeg ^
       [...more options as needed...] ^
       -dLastPage=1 ^
       -f c:/path/to/input.pdf
    

    これにより、次のようになります。

      only page processed, page 1 ....... named as page_000.jpg
    

出来上がり!

このちょっとしたコツで、すべてのページの名前を変更する手間を省くことができます。処理するページが数ページ以上あるとすぐに、確実に高速になります。もちろん、この基本的なアプローチは簡単にスクリプト化できます。

楽しみ...

于 2010-08-09T18:21:47.947 に答える
0

この質問を締めくくるために、私は自分自身に答えます。ゼロから番号付けを開始できるゴーストスクリプトはありません。Ghostscript の処理が完了した後、すべてのファイルの名前を変更する必要がありました。

于 2010-03-28T17:57:55.737 に答える