在用户上传文件后,我正在使用通用 C# 包装器从 PDF 中渲染图像,我想知道是否可以将包装器配置为使用字节数组而不是磁盘上的实际文件,因为这将为我节省额外的旅行并提高我的应用程序的性能。理想情况下,我想传递 PDF 的字节数组并让它返回一个字节数组。我查看了包装器代码,但我无法弄清楚我将如何做到这一点(如果可能的话)。那么有可能吗?如果有任何关于我应该从哪里开始的指导?
谢谢。
在用户上传文件后,我正在使用通用 C# 包装器从 PDF 中渲染图像,我想知道是否可以将包装器配置为使用字节数组而不是磁盘上的实际文件,因为这将为我节省额外的旅行并提高我的应用程序的性能。理想情况下,我想传递 PDF 的字节数组并让它返回一个字节数组。我查看了包装器代码,但我无法弄清楚我将如何做到这一点(如果可能的话)。那么有可能吗?如果有任何关于我应该从哪里开始的指导?
谢谢。
您不能将字节序列提供给 Ghostscript PDF 解释器,也不能将 PDF 文件作为 pdfwrite 设备生成的字节序列读回。
原因很简单,PDF 解释器和 PDF 编写器都需要随机访问文件才能解释/创建文件。如果整个文件都保存在内存中,则可以这样做,但这将严重限制文件的大小。
您使用的包装器是纯包装器,不能为您提供所需的东西。看看Ghostscript.NET托管的 Ghostscript 包装器(完整实现),如果您需要同时处理多个 pdf,它允许您同时运行解释 prolog / postscript 和 Ghostscript 库的多个实例。有一个类GhostscriptViewerPdfFileHandler向您展示如何通过解释器操作 pdf。您需要的一切都可以完成。