gpt4 book ai didi

linux - 如何使 ghostscript 将 postscript 文件中的单个特定页面输出为 png?

转载 作者:IT王子 更新时间:2023-10-29 00:56:00 25 4
gpt4 key购买 nike

我正在尝试将 ghostscript 用于其预期目的,以解释 postscript 文件和输出 png。我想要一个将单个特定页面从多页 ps 文件转换为单个 png 的命令。我已经在 infile 是 pdf 文件的情况下完成了此操作,但在 infile 是 ps 时却没有。

此行会将 ps 转换为由串联的 png 文件组成的文件。

gs -dSAFER -dBATCH -sDEVICE=png256 -r96x96 -sOutputFile=out.png in.ps

这将从 pdf 中获取单个特定页面并将其转换为 png。

gs -q -dSAFER -dBATCH -dFirstPage=2 -dLastPage=2 -sDEVICE=png256 -SOut=fileout.png in.pdf

简单地将 dFirstPage= 标志放在后脚本输入案例中没有任何作用。输出与标志不存在时的输出相同。

最佳答案

无论文件是否符合 DSC,您都可以使用 PostScript 执行此操作,前提是您知道所需的页面。

一个自定义的 EndPage 过程将完成这项工作。 EndPage 为作业中的每一页调用,过程必须返回一个 bool 值,如果为真,则页面被传输到设备进行打印,如果为假,则页面被消耗并丢弃。

<<
/EndPage {
0 eq { %% reason code is 0 for showpage
5 eq { %% 5 is just an example, you would put your page# minus 1 here
true
}{
false
}ifelse
} {
pop %% remove the count of pages from the stack
false
}ifelse
}
>> setpagedevice

这会测试原因代码以确保它为 0(showpage),然后是到目前为止 showpage 的执行次数,以查看它是否是我们的目标,如果是,我们将 true 放入堆栈并返回。对于任何其他条件,我们输入 false 并返回。

页数仅在您退出解释器时重置,因此如果您在不重新启动解释器的情况下连续运行两个文件,那么这将仅适用于第一个文件。

关于linux - 如何使 ghostscript 将 postscript 文件中的单个特定页面输出为 png?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5691229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com