gpt4 book ai didi

node.js - ImageMagick:不使用文件的 PDF 到 PNG nodejs?

转载 作者:行者123 更新时间:2023-12-02 00:06:02 24 4
gpt4 key购买 nike

我需要创建一个端点来将 pdf 呈现为 nodejs 中的图像,在尝试了不同的方法之后,imagemagick/ghostscript 似乎是最佳选择。

但是他们期望文件作为输入和输出。

有没有办法只在内存/变量中工作,而不是弄乱文件系统(性能/资源是这里的一个问题)?

理想的场景是将 pdf 作为 base64 字符串提供给 imagemagick,并以 base64 字符串获取图像。

但是由于 imagemagick 是一个命令行工具,所以我不知道如何完成它以及它是否可能?也许有一种方法可以连接到流处理,这样我就可以覆盖数据的去向(比如以某种方式覆盖 imagemagick 进程的 stdin/stdout 或任何将数据累积在变量中而不是将其发送到文件的方法)

或者如果这是一个死胡同,有什么替代方案可以在不使用文件的情况下在 Node 中将 pdf 渲染为 png?尝试了 pdf.js 的某种方式,但它在 Node 中似乎非常不可靠。

非常感谢任何建议

最佳答案

sharp可以做到这一点。它使用 poppler用于 PDF 渲染,而不是外包到 Ghostscript,因此您可以在不接触文件系统的情况下进行所有处理。它还会逐步呈现 PDF,因此内存使用率保持在较低水平。

您将遇到的困难是 poppler 是 GPL,因此 sharp ships 的二进制文件不包含它。你需要 install a system versionlibvips (sharp 使用的底层图像处理库)包括 PDF 支持。您还需要注意,将 GPL 库链接到您的 Node 程序也会使您的代码成为 GPL。这意味着如果您打算出售您的程序,则必须放弃源代码。当然,出售对您的程序的访问权限是可以的。

Imagemagick 是一个很棒的工具,但它会使用一组大型临时文件通过 ghostscript 处理 PDF。

关于node.js - ImageMagick:不使用文件的 PDF 到 PNG nodejs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60582406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com