可以用ghostscript显示渲染PS文件的进度吗?
Posted
技术标签:
【中文标题】可以用ghostscript显示渲染PS文件的进度吗?【英文标题】:it is possible to show progress of rendering PS file with ghostscript? 【发布时间】:2018-12-07 05:04:54 【问题描述】:我正在使用 GhostScript.NET for C# 将 PDF 转换为 PostScript(ps2write 设备),我想显示渲染进度 (processor.StartProcessing()
),因为大文件需要很长时间
我知道 mswinpr2 显示渲染进度,但 ps2write 没有。
可以用 ps2write 做到这一点吗?
【问题讨论】:
【参考方案1】:PostScript 程序可以是任意长度,而且确实因为它们是程序,所以完全可以从磁盘读取整个程序,但仍然需要做大量工作才能产生输出。
mswinpr2 设备的所有进度表明的是到目前为止已读取程序的百分比,这是相当可靠的,但不是 100% 准确。
一般来说,ps2weite 设备实际上根本不渲染。它解释输入,创建一系列图形基元,然后用于创建新的 PostScript 程序。
由于无法知道 PostScript 程序何时(或者实际上是否)会达到暂停状态,因此您无法判断进度。
如果输入的是 PostScript 程序,那么您可以一次输入一部分程序,并以读取量/文件大小 * 100 来计算进度。
如果输入的是 PDF 文件,则不能这样做,因为 PDF 解释器需要随机访问整个文件。
总结一下;如果输入是 PostScript,那么您可以计算一种进度,如果输入是 PDF,那么就没有实际的方法来确定进度。您可以做的最好的事情是确定 PDF 文件中的页数并计算到目前为止已处理的页数。
【讨论】:
感谢解释 Ghostscript 可以知道处理了多少页?以上是关于可以用ghostscript显示渲染PS文件的进度吗?的主要内容,如果未能解决你的问题,请参考以下文章
从PS中创建PDF时,用Ghostscript去除白色背景。
适用于 Windows 的 PDFCreator 和 Ghostscript - 是不是可以监控进度?
Ghostscript将ps与pdf文件合并并添加第一行(标题)
通过 Ghostscript 将 PS 文件转换为 PDF/A,色彩空间问题