将图像嵌入为 base64 而不是输出到文件夹
embed images as base64 instead of outputing to folder
从 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。这可能吗?
您可以编写自己的 ConversionImageHandler 实现来执行此操作。
默认实现 HTMLConversionImageHandler 将图像写入文件。
要使用您的图像处理程序,请通过 htmlSettings.setImageHandler
指定它
您不需要自定义 ConversionImageHandler
即可实现此目的。
您只需将 imageDirPath 设置为空字符串,图像就会被嵌入
org.docx4j.Docx4J.toHTML(wordMLPackage, "", "", fos2);
发生这种情况是因为 org.docx4j.model.images.AbstractConversionImageHandler
(HTMLConversionImageHandler
的派生)已经为您处理了这种情况。
从 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。这可能吗?
您可以编写自己的 ConversionImageHandler 实现来执行此操作。
默认实现 HTMLConversionImageHandler 将图像写入文件。
要使用您的图像处理程序,请通过 htmlSettings.setImageHandler
指定它您不需要自定义 ConversionImageHandler
即可实现此目的。
您只需将 imageDirPath 设置为空字符串,图像就会被嵌入
org.docx4j.Docx4J.toHTML(wordMLPackage, "", "", fos2);
发生这种情况是因为 org.docx4j.model.images.AbstractConversionImageHandler
(HTMLConversionImageHandler
的派生)已经为您处理了这种情况。