创建一个 pdf 文件,在其中写入并使用 PyMuPDF 返回其字节流

问题描述

使用 PyMuPDF,我需要创建一个 PDF 文件,向其中写入一些文本,然后返回其字节流

这是我的代码,但它使用文件系统来创建和保存文件

    import fitz
    path = "PyMuPDF_test.pdf"
    doc = fitz.open()
    page = doc.newPage()
    where = fitz.Point(50,100)
    page.insertText(where,"PDF created with PyMuPDF",fontsize=50)
    doc.save(path)  # Here Im saving to the filesystem
    with open(path,"rb") as file:
        return io.BytesIO(file.read()).getvalue()

有没有一种方法可以创建一个 PDF 文件,在其中写入一些文本,然后在不使用文件系统的情况下返回其字节流

解决方法

检查 save() 我发现 write() 直接以字节形式给出

import fitz

#path = "PyMuPDF_test.pdf"

doc = fitz.open()
page = doc.newPage()
where = fitz.Point(50,100)
page.insertText(where,"PDF created with PyMuPDF",fontsize=50)

print(doc.write())