2

我想从 azure blob 存储中获取 docx 文件,将其转换为 pdf 并再次将其保存到 azure blob 存储中。我想使用 pypandoc 将 docx 转换为 pdf。

pypandoc.convert_file('abc.docx', format='docx', to='pdf',outputfile='abc.pdf')

但是,我想在 azure 函数中运行此代码,我将没有足够的空间来保存文件,因此我使用 BytesIO 作为流从 azure blob 存储下载文件,如下所示。

blob_service_client = BlobServiceClient.from_connection_string(cs)
container_client=blob_service_client.get_container_client(container_name)
blob_client = container_client.get_blob_client(filename)
streamdownloader=blob_client.download_blob()

stream = BytesIO()
streamdownloader.download_to_stream(stream)

现在我想将我的 docx 文件转换stram为 pdf 格式。转换后的 pdf 也可以保存为 BytesIO 流,因此可以将其上传到 blob 存储而不占用系统内存。但是 pypandoc 显示错误,RuntimeError: source_file is not a valid path 好像您可以建议一些其他方法将 docx 转换为可以处理 BytesIO 文件格式的 pdf,然后我想提一下,我将在 doc2pdf 等库不支持的 Linux 环境中工作。

4

0 回答 0