将XPS转换为PDF时如何获取GhostPDL进度通知?

| 到目前为止,我正在使用Process调用GhostPDL将我的XPS文件转换为PDF文件。 问题是有时这些转换需要一段时间。目前,我正在使用通知让用户等待。但是我希望有某种进度条。我读到可以为此使用StandardError,但我什至都不知道如何从命令行设置GhostPDL输出进度状态。我尝试搜索该手册,以查看是否有需要打开的参数,但我没有运气。 有没有办法打开状态输出,或者是将XPS转换为PDF的替代方法?我愿意接受任何想法。     
已邀请:
        在使用GhostPDL 9.02,运行具有2 GB内存的Ubuntu Natty的Lenovo T500笔记本电脑上,将Microsoft提供的38页XPS(ExchangeServer2007_ AdminComp_ Chapter_02.xps)转换为完美的PDF文档花费了2.3秒:
 time gxps \\
   -dDEBUG \\
   -o ExchangeServer2007_AdminComp_chapter_02.xps.gxps.pdf \\
   -sDEVICE=pdfwrite \\
    ExchangeServer2007_AdminComp_chapter_02.xps

 real   0m2.213s
 user   0m1.852s
 sys    0m0.200s
但是,我认为
gxps
(可以将XPS转换为PDF的GhostPDL命令目前不提供任何标准方法来使它在stdout上更加健谈,甚至
-dDEBUG
也不起作用)... 更新:我对将XPS直接转换为PDF的任何其他工具都不熟悉,但是我知道其中有很多。如果您查询Google搜索结果,可能会更幸运。 当然,您始终可以将XPS打印到“ PDF打印机”中。在命令行上有不同的方法来执行此操作,这可能会给您一些进度反馈。 如果您事先知道要转换多少页,则使用GhostPDL的(糟糕的)解决方法是使用
-dFirstPage=1 -dLastPage=10
这样的结构将文件转换为大块,并通知用户当前NNN中有1-10页正在处理中。 更新2:这是一种在处理每个页面时如何获取有关stdout的反馈的方法:
 time gxps \\
   \'-Z|\' \\
   -o ExchangeServer2007_AdminComp_chapter_02.xps.gxps.pdf \\
   -sDEVICE=pdfwrite \\
    ExchangeServer2007_AdminComp_chapter_02.xps
请注意,单引号ѭ5围绕
-Z|
。第二个字符是管道符号,而不是大写字母...结果:
 start part /FixedDocumentSequence.fdseq
 fixdoc /Documents/1/FixedDocument.fdoc
 page /Documents/1/Pages/1.fpage w=0 h=0
 page /Documents/1/Pages/2.fpage w=0 h=0
 page /Documents/1/Pages/3.fpage w=0 h=0
 [....]
 page /Documents/1/Pages/37.fpage w=0 h=0
 page /Documents/1/Pages/38.fpage w=0 h=0
感谢Ghostscript开发人员Tor Anderson,他在Freenode的#ghostscript IRC频道中给了我决定性的提示。     

要回复问题请先登录注册