2012-12-05 14 views
1

我使用的是generic C# wrapper呈现从PDF文件图像的用户上传文件,我想知道是否它可以配置包装使用字节数组来工作,而不是后的文件目录的工作原理磁盘上的实际文件,因为这将为我节省额外的旅费并提高我的应用程序的性能。理想情况下,我想传递一个PDF的字节数组并返回一个字节数组。我看过封装代码,我无法弄清楚究竟(如果可能的话)我会这样做。那有可能吗?如果有的话,我应该从哪里开始?Ghostscript的包装,使用字节数组,而不是

谢谢。

回答

2

不能喂字节到的Ghostscript PDF解释的序列,也没有读回一个PDF文件作为由所述pdfwrite装置产生一个字节序列。

原因很简单,就是PDF解释器,和PDF作家,都需要以此来诠释/创建文件到文件的随机访问。如果整个文件都保存在内存中,那么可以这样做,但这会对文件大小造成严重的限制。

1

您所使用的包装材料是纯的包装不能提供你所需要的。看看Ghostscript.NET管理Ghostscript的包装(全面实施),它允许您运行在同一时间解释序言/后记和Ghostscript库的多个实例,如果你有需要在同一时间处理多个PDF文件。有一个类GhostscriptViewerPdfFileHandler,它演示了如何通过解释器操纵pdf。你需要的一切都可以完成。

+0

是否Ghostscript.NET允许parllel编程? – Jay

+0

从我所知道的Ghostscript库不是线程安全的,这就是为什么每个进程只能创建一次实例。 Ghostscript.NET允许你从内存中加载Ghostscript库,它允许你在它自己的内存空间中运行每个Ghostscript库的多个实例。我尽可能多地测试了Ghostscript.NET,它显示了现在在单个进程中在每个Ghostscript实例中运行它自己的线程都没有问题。 – HABJAN

+1

关于并行编程:Ghostscript库有一个开关(-dNumRenderingThreads),它允许您利用多个CPU。使用(-c)开关也可以增加Ghostscript内存使用量。 (示例:-c“30000000 setvmthreshold”应该增加最多30 MB的最大Ghostscript内存使用量。 – HABJAN

相关问题