我正在使用 GhostScript.NET for C# 将 PDF 转换为 PostScript(ps2write 设备),我想显示渲染进度(processor.StartProcessing()
),因为大文件需要很长时间
我知道 mswinpr2 显示渲染进度,但 ps2write 没有。
可以用 ps2write 做到这一点吗?
我正在使用 GhostScript.NET for C# 将 PDF 转换为 PostScript(ps2write 设备),我想显示渲染进度(processor.StartProcessing()
),因为大文件需要很长时间
我知道 mswinpr2 显示渲染进度,但 ps2write 没有。
可以用 ps2write 做到这一点吗?
PostScript 程序可以是任意长度,实际上因为它们是程序,所以完全有可能从磁盘读取整个程序,但为了产生输出还有大量工作要做。
mswinpr2 devvice 的所有进度表明的是到目前为止已读取的程序的百分比,这是相当可靠的,但不是 100% 准确。
一般来说,ps2weite 设备实际上根本不渲染。它解释输入,创建一系列图形基元,然后用于创建新的 PostScript 程序。
由于无法知道 PostScript 程序何时(或实际上是否)会达到停止状态,因此您无法判断进度。
如果输入的是 PostScript 程序,那么您可以一次输入一部分程序,并以读取量/文件大小 * 100 来计算进度。
如果输入的是 PDF 文件,则不能这样做,因为 PDF 解释器需要随机访问整个文件。
总而言之;如果输入是 PostScript,那么您可以计算一种进度,如果输入是 PDF,那么就没有实际的方法来确定进度。您可以做的最好的事情是确定 PDF 文件中的页数并计算到目前为止已处理的页数。