如何在从docx转换为HTML时修改pandoc输出的HTML?

时间:2016-05-15 18:17:34

标签: python pandoc

我正在使用python的Pypandoc模块。我用于转换的代码是:

html = pypandoc.convert(
            tmp_loc,
            'html5',
            extra_args=['--extract-media=']
            )

此代码将docx转换为HTML,该HTML存储在“html”中,同时从docx中提取图像并将其存储在名为image01.jpg的媒体存储库中。 HTML中的img src是:

<img src="/media/image01.jpg" />

现在我要做的是将图像的名称,即image01.jpg更改为更方便的名称。我可以轻松更改存储库中的图像名称。但是如何更新pypandoc输出的HTML中的img src标签?

谢谢

2 个答案:

答案 0 :(得分:0)

我认为问题实际上与docx有关。在这些文档中,每个图像都有自己的名称,即使它是隐藏的。您可以在图像属性中检查它 - 当然,自动名称是! - imageXX!所以,我建议更改文档本身的图像名称,然后再次转换。

如果你有太多的图像,并且你想以某种方式自动化这个过程,请尝试一些十六进制编辑器(linux中的ghex,我建议),以及“搜索和替换”功能。您可以将“image”替换为“something”,结果文件将为“somethingXX.jpg”

答案 1 :(得分:0)

我只是将每个上传内容放在自己的目录中(uploadX/index.htmluploadX/media/imageY.jpg等)。

或者至少在转换为HTML之后进行重命名(使用比docx更好的工作),例如,在文件名前添加唯一ID,例如uploadX_imageY.jpg,并使用HTMLParser之类的内容调整链接。