将图像嵌入为base64而不是输出到文件夹

时间:2015-06-12 01:51:54

标签: c# docx4j docx4j.net

从docx转换为html时,您可以指定任何图像的输出路径

org.docx4j.Docx4J.toHTML(wordMLPackage, imageDirPath, imageTargetUri, fos2);

,生成的html文档通过文件引用图像:

<img height="22" id="rId7" src="..cc6bcedf-2770-45ad-8e81-610bbd8746ceimage1.png" width="42">

相反,我希望转换器将文件嵌入为base64。这可能吗?

2 个答案:

答案 0 :(得分:1)

您可以编写自己的ConversionImageHandler实现来执行此操作。

默认实现HTMLConversionImageHandler将图像写入文件。

要使用图像处理程序,请通过htmlSettings.setImageHandler

指定它

答案 1 :(得分:1)

您无需自定义ConversionImageHandler即可实现此目的。 您只需将imageDirPath设置为空字符串即可嵌入图像

org.docx4j.Docx4J.toHTML(wordMLPackage, "", "", fos2);

这是因为org.docx4j.model.images.AbstractConversionImageHandlerHTMLConversionImageHandler派生的)已经为你处理了这种情况。