编辑:Ghostscript 可以给我二进制数据而不是输出到目录吗?

Posted

技术标签:

【中文标题】编辑:Ghostscript 可以给我二进制数据而不是输出到目录吗?【英文标题】:EDIT: Can Ghostscript give me the binary data rather than output to a directory? 【发布时间】:2015-10-08 14:40:15 【问题描述】:

我目前有一个 Python 脚本,它运行 Ghostscript 命令将 PDF 的第一页转换为 PNG。但是,现在图像刚刚进入我的目录之一。是否可以让 Ghostscript 输出二进制数据,以便我可以将该保存保存到数据库中?

args = [
    "pdf2img", # actual value doesn't matter
    "-sOutputFile=testing.png",
    "-dNOPAUSE",
    "-dBATCH",
    "-sDEVICE=png256",
    "-sPAPERSIZE=a1",
    "-dPDFFitPage=true",
    "-dFirstPage=1",
    "-dLastPage=1",
    "testPDF.pdf"
    ]

ghostscript.Ghostscript(*args)

【问题讨论】:

Mongo db 存储文本信息,因此图像必须是二进制字符串。看看这里***.com/questions/4796914/… 另外,你可以看看 PIL 枕头模块 (pillow.readthedocs.org/en/3.0.x)。它适用于图像。您可以将图像转换为二进制字符串,将其存储在 mongo 上,稍后检索数据并使用 PIL mod 重新创建图像 您想知道如何让 Ghostscript 为您提供二进制数据,而不是立即将其写入磁盘,还是您需要知道如何在 MongoDB 中存储大量二进制数据? 我希望 Ghostscript 给我二进制数据@Philipp 您也可以使用 MongoDB GridFS 来存储文件:docs.mongodb.org/manual/core/gridfs @RachelAnnJohnson 然后我建议您删除对 mongodb 的引用 - 正如您所看到的,这个问题吸引了更多以 MongoDB 为中心的注意力,而不是以 Ghostscript 为中心的注意力。 【参考方案1】:

您可以通过说 -sOutputFile=%stdout 让 Ghostscript 将输出通过管道传输到标准输出。除此之外,我想不出你所说的“给你二进制数据”是什么意思。

【讨论】:

谢谢!关于如何将输出存储在 Python 中的变量中的任何想法? 如果您可以将它分配给一个变量,我会感到非常惊讶,渲染的输出可以是数兆字节,甚至可能是千兆字节的数据。但是我对python一无所知。

以上是关于编辑:Ghostscript 可以给我二进制数据而不是输出到目录吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Linux 下正确安装 Ghostscript 作为共享库

如何阻止 Ghostscript 和 pdfwrite 将图像分解为多个 XObject?

为iOS 11编译Ghostscript

如何告诉 ghostscript 不要光栅化 eps 文件中的渐变?

Treepoem 条码生成器无法找到 ghostscript

将字体添加到 ghostscript 9.10