背景:我正在尝试自动生成科学报告。我已经将数据写入了一个HTML文件,我想使用潘多克.exe(文件转换程序)转换为.docx Word文档。我有一个过程来处理一个较小的HTML文件,包括图像、表格等。那个文件是307KB。在
当我试图转换一个更大的文件(约4.5MB)并嵌入多个图时,问题就开始了。{我一直在用这个来转换:import pypandoc
PANDOC_PATH = r"C:\Program Files\RStudio\bin\pandoc"
infile = savepath + os.sep + 'Results ' + name + '.html'
outfile = savepath + os.sep + 'Results ' + name + '.docx'
output = pypandoc.convert(source=infile, format='html', to='docx', \
outputfile=outfile, extra_args=["+RTS", "-K64m", "-RTS"])
但是我有很多错误。通常:
^{pr2}$
或者如果我把-Ksize的值调到256m,像这样:RuntimeError: Pandoc died with exitcode "1" during conversion: b'pandoc: out of memory\r\n'
有人能解释一下这里发生了什么,我能用什么方法来解决这个难题吗?我考虑过的一个解决方案是将图像缩小很多。我刚刚缩小了(80-500KB)的原稿,每个图像的宽度和高度取决于它的原始尺寸:data_uri = base64.b64encode(open(formats[graph][0], 'rb').read()).decode('utf-8')
img_tag = ('
width='+formats[graph][2][1]+'>').format(data_uri)
谢谢你的帮助