Ghostscript可以从零开始编号页面吗?

时间:2010-03-15 18:26:46

标签: ghostscript

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

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

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

2 个答案:

答案 0 :(得分:7)

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

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

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

  1. 首次通过: 通过Ghostscript进行处理从第2页开始到结束。此传递的页码仍将从1开始。但是每个连续页面现在都有一个偏移-1的文件名。
  2. 第二遍: 让Ghostscript的处理在第1页后停止,并硬编码输出文件名以包含您想要的零编号。
  3. 以下是明确阐述的两个命令:

    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
      
    3. 瞧!

      这个小技巧可以让你免费重命名所有页面。只要您处理多个页面,它肯定会更快。当然,这种基本方法很容易编写脚本。

      享受......

答案 1 :(得分:0)

要结束这个问题,我会自己回答:没有鬼怪不能从零开始编号。在ghostscript完成处理后,我不得不重命名所有文件。