【发布时间】:2011-11-28 14:19:54
【问题描述】:
目前我使用 Ghostscript 将 彩色 PDF 转换为灰度 PDF。现在我正在寻找可靠的 .NET 商业或非商业组件/库 来替换 ghostscript。我用谷歌搜索,我没有找到任何能够轻松做到这一点或根本没有做到这一点的组件/库。
编辑 #1:
为什么 Ghostscript 不适合我:
我实现了 Ghostscript,并且正在使用它的原生 API。问题是 Ghostscript 不支持单个进程中的多个解释器实例。 -dJOBSERVER 模式对我也不起作用,因为我不收集所有工作,他们一次处理所有工作。碰巧 Ghostscript 正在处理大约需要 20 分钟的大型作业,同时我得到一些较小的作业,必须尽快处理并且不能等待 20 分钟。另一个问题是 Ghostscript 页面处理的事件不容易捕获。我为ghostscript标准输出消息编写了一个解析器,当ghostscript为一组已处理页面推送消息时,我可以读出已处理的页码,但不能读出每个页面。 Ghostscript 还有更多问题,例如生成错误的 pdf、复制字体问题.....
您可以在这里找到我在使用 ghostscript 时遇到的另一个问题:Ghostscript - PS to PDF - Inverted images problem
-
更新一年后:
一年前,我问了这个问题。后来我使用 iTextSharp 制作了自己的解决方案。
您可以在此处查看将 PDF 转换为灰度的解决方案:
http://habjan.blogspot.com/2013/09/proof-of-concept-converting-pdf-files.html
或
https://itextsharpextended.codeplex.com/
在大多数情况下对我有用 :)
【问题讨论】:
-
我将问题更改为商业或非商业。现在好吗?我觉得这个问题是在正确的地方。
-
你能告诉我们为什么 ghostscript 不再可行吗?
-
因为在某些情况下它会产生糟糕的 pdf。 (重复的字体等)。另一个原因是我想要更灵活(处理页面事件)并让它运行多线程。