有可能显示使用ghostscript渲染PS文件的进度?

时间:2018-12-07 05:04:54

标签: c# ghostscript ghostscript.net

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

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

是否可以使用ps2write做到这一点?

1 个答案:

答案 0 :(得分:0)

PostScript程序的长度可以是任意的,并且确实是因为它们是程序,因此完全有可能从磁盘读取整个程序,但是仍然要做大量工作才能产生输出。

所有mswinpr2开发人员的进度都表明,到目前为止已读取的程序百分比是合理的,但并非100%准确。

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

由于无法知道PostScript程序何时(或实际上是否)会进入暂停状态,因此您无法确定进度。

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

如果输入的是PDF文件,则无法执行此操作,因为PDF解释器需要随机访问整个文件。

总而言之;如果输入是PostScript,则可以计算某种进度;如果输入是PDF,则没有现实的方法来确定进度。最好的办法是确定PDF文件中的页数,然后计算到目前为止已处理的页数。