编辑#1:
为什么Ghostscript对我无效:
我实现了Ghostscript并使用它的本地API。问题是Ghostscript不支持单个进程中多个解释器的多个实例。-dJOBSERVER模式对我也不起作用,因为我不会收集所有工作并一次性处理它们。有时Ghostscript正在处理需要大约20分钟的大型作业,同时我又有一些必须尽快处理而不能等待20分钟的较小作业。另一个问题是Ghostscript页面处理事件不容易捕获。我编写了一个解析器来读取Ghostscript标准输出消息,并且可以读出已处理的页码,但无法为每个已处理的页面读取,因为Ghostscript为已处理的页面组推送消息。Ghostscript还存在一些问题,例如生成坏的PDF、复制字体问题等等。
您可以在这里找到我使用Ghostscript遇到的另一个问题:Ghostscript - PS to PDF - Inverted images problem
-
UPDATE 一年后:
一年前我提出了这个问题。后来我使用 iTextSharp 制作了自己的解决方案。
你可以在这里查看将 PDF 转换为灰度的解决方案:
http://habjan.blogspot.com/2013/09/proof-of-concept-converting-pdf-files.html
或者
https://itextsharpextended.codeplex.com/
在大多数情况下,这对我有效 :)