【发布时间】:2021-12-14 01:00:33
【问题描述】:
我有一个图像,表示为一个 numpy 数组。
我想避免将其写成 pdf,然后再读回文件以获取文件的 base64 表示,有没有更简单的方法可以在不写入文件的情况下做到这一点?
- 我的目标是输出 pdf 文件的 base64 表示(不输出)
如果我理解正确的话,jpgs 和 pdfs 的 base64 编码是不同的,这是正确的吗?
【问题讨论】:
我有一个图像,表示为一个 numpy 数组。
我想避免将其写成 pdf,然后再读回文件以获取文件的 base64 表示,有没有更简单的方法可以在不写入文件的情况下做到这一点?
如果我理解正确的话,jpgs 和 pdfs 的 base64 编码是不同的,这是正确的吗?
【问题讨论】:
使用 PIL Image.fromarray 函数,可以将所有图像转换为 PIL 图像。
然后再次使用 PIL,save() 可用于将图像一起保存为 PDF 并将它们写入 buff:
buff = io.BytesIO()
pil_images[0].save(buff, "PDF", resolution=100.0, save_all=True, append_images=pil_images[1:])
buff.getvalue() 返回字节(这对我来说已经足够了,但仍然可以获得 base64 表示)
【讨论】: