MemoryStream(pdf)到Ghostscript到MemoryStream(jpg)

Ada*_*ler 6 c# pdf jpeg ghostscript ghostscriptsharp

我确实看到了“ 使用GhostScript从PDF转换为图像。不必创建图像文件 ”,但是只有(某种)回答了我一半的问题。是否可以使用GhostScriptSharp(或常规的GhostScript dll)将MemoryStream中的pdf转换为MemoryStream中的jpg?我说的是使用iTextSharp动态填充pdf形式,我已经将其定向到MemoryStream以保存到数据库或流式传输到http响应,并且我真的很想避免保存到文件(以及随后的清理)中能够。

我引用的答案中的唯一答案声称,必须执行GhostScript dll才能完成后一部分,但是很明显,我需要做大量的工作才能弄清楚这意味着什么。是否有人拥有可以在我的旅途中为我提供帮助的良好资源?

HAB*_*JAN 4

问题是,与 PostScript 语言不同,PDF 语言本质上需要随机访问文件。如果您直接向标准输入或通过 PIPE 提供 PDF,Ghostscript 会在解释 PDF 之前将其复制到临时文件。因此,将 PDF 作为 MemoryStream(或字节数组)传递是没有意义的,因为无论如何它在被解释之前都会在磁盘上结束。

看一下Ghostscript.NET,它是“内存中”输出的GhostscriptRasterizer示例。

  • 在我看来,随机访问与这个问题无关,因为您确实对内存流进行了随机访问。尽管我承认 Ghostscript 是一款很棒的软件,但它缺乏允许使用内存缓冲区作为输入/输出的 API 一直是一个缺点。 (2认同)