编辑: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?
如何告诉 ghostscript 不要光栅化 eps 文件中的渐变?