3

我正在使用 Ghostscript 将多页 PDF 转换为单个 JPEG 文件,并可以让它输出编号为page_%03d.jpg.

但它总是从page_001.jpg开始,我需要它从page_000.jpg开始对输出文件进行编号。

是否有一个设置可以让 Ghostscript 从零开始,或者我必须在处理后重命名所有文件?

4

2 回答 2

7

嗯...棘手的问题。我认为没有办法将-sOutputFile=string_%03d.jpeg-syntax 调整为从零开始。

但是,尝试一些解决方法呢?

诀窍是使用 2 遍处理您的 PDF 文件

  1. 第一遍:使 Ghostscript 的处理从第 2 页开始到结束。您的此通行证的页码仍然从 1 开始。但是每个连续的页面现在都有一个偏移 -1 的文件名。
  2. 第二遍:使 Ghostscript 在第 1 页后停止处理,并对输出文件名进行硬编码以包含所需的零编号。

这是明确说明的两个命令:

  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. 第二关:

    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 不能从零开始编号。在 ghostscript 完成处理后,我不得不重命名所有文件。

于 2010-03-28T17:57:55.737 回答