【发布时间】:2013-02-26 00:53:19
【问题描述】:
新版本的 Ghostscript (9.07) 支持线程(可以是线程安全的),但它说必须使用特殊标志编译代码才能启用此功能。
我该怎么做?或者我在哪里可以获得已经构建的线程安全版本?
我尝试下载源代码,在 VS 中打开,但构建失败。所以也许有人已经这样做了并且可以共享 DLL。
【问题讨论】:
标签: c# ghostscript
新版本的 Ghostscript (9.07) 支持线程(可以是线程安全的),但它说必须使用特殊标志编译代码才能启用此功能。
我该怎么做?或者我在哪里可以获得已经构建的线程安全版本?
我尝试下载源代码,在 VS 中打开,但构建失败。所以也许有人已经这样做了并且可以共享 DLL。
【问题讨论】:
标签: c# ghostscript
您是否对 Ghostscript 的线程安全版本或多渲染线程感兴趣?
只有在生成高分辨率输出时才使用多个渲染线程,因为代码必须首先解释 PostScript 程序(或 PDF 文件)并创建一个显示列表供渲染线程操作。除非您渲染到相当高的分辨率,否则这实际上会比使用页面模式(在内存中渲染整个页面)慢
您可以使用 -dNumRenderingThreads 开关在 Ghostscript 的预构建版本中创建多个渲染线程。
如果您想要一个线程安全的 Ghostscript 版本,那么您需要能够自己编译 Ghostscript。您使用的是什么版本的 Visual Studio?我正在使用 Visual Studio 2005 和 2008,并且提供的解决方案适用于我(经过适当的转换)。
【讨论】:
我也在寻找这个问题的解决方案,最终我在 Linux 中解决了它。也许它会帮助来这里寻找解决方案的人。 在源目录中打开终端并输入以下命令:
./configure --enable-threadsafe
之后,您可以为 lib 执行 make 或 make so。
以下是从源代码构建 ghostscript 的文档链接:https://www.ghostscript.com/doc/9.23/Make.htm#Makefile_overview。
【讨论】:
查看Ghostscript.NET 托管的 Ghostscript 包装器,如果您需要同时处理多个 pdf,它允许您同时运行多个 Ghostscript 库实例。
【讨论】: