0

我正在使用 GhostScript.NET for C# 将 PDF 转换为 PostScript(ps2write 设备),我想显示渲染进度(processor.StartProcessing()),因为大文件需要很长时间

我知道 mswinpr2 显示渲染进度,但 ps2write 没有。

可以用 ps2write 做到这一点吗?

4

1 回答 1

0

PostScript 程序可以是任意长度,实际上因为它们是程序,所以完全有可能从磁盘读取整个程序,但为了产生输出还有大量工作要做。

mswinpr2 devvice 的所有进度表明的是到目前为止已读取的程序的百分比,这是相当可靠的,但不是 100% 准确。

一般来说,ps2weite 设备实际上根本不渲染。它解释输入,创建一系列图形基元,然后用于创建新的 PostScript 程序。

由于无法知道 PostScript 程序何时(或实际上是否)会达到停止状态,因此您无法判断进度。

如果输入的是 PostScript 程序,那么您可以一次输入一部分程序,并以读取量/文件大小 * 100 来计算进度。

如果输入的是 PDF 文件,则不能这样做,因为 PDF 解释器需要随机访问整个文件。

总而言之;如果输入是 PostScript,那么您可以计算一种进度,如果输入是 PDF,那么就没有实际的方法来确定进度。您可以做的最好的事情是确定 PDF 文件中的页数并计算到目前为止已处理的页数。

于 2018-12-07T14:15:42.667 回答