我当前正在通过生成 HTML 并更改标题信息以显示为 .doc 文件来创建 Word 文档。这是一个穷人的方法,但效果很好(到目前为止)。
我只是被要求在文件中包含一张图像。我最好的想法是使用 Base64 嵌入图像。这在浏览器中工作得很好,但是 Word 只给了我一个带有 X 的框。
有关如何将图像嵌入此文件并使其显示在 Microsoft Word 中的建议?
这是一个困难的问题,Word 无法处理
data:
HTML 中的 base64 编码图像,至少这是这个问题和这个 MSDN 讨论中的结果。
您有三个选择:
在文档所在位置创建一个文件夹,将其与文档一起存放,并相对引用图像(
<img src='imageFolder/image1.jpg'>
)使用绝对 URL 或文件路径(更糟糕)
查看新的 Word > 2003 基于 XML 的文件格式,这绝对是可能的。
我能想到的唯一其他选择实际上是创建一个本机 Word 文件,例如使用 OpenOffice。
我刚刚通过将 DOCX 打印为 PDF,然后使用 Acrobat 将其另存为 HTML 来实现这一点。图像显示很小,但就在那里。
MIME-Version: 1.0
Content-Type: multipart/related; boundary="----=_NextPart_"
------=_NextPart_
Content-Location: file:///C:/Doc2.htm
Content-Transfer-Encoding: quoted-printable
Content-type: text/html; charset="utf-8"
<html xmlns:v=3D"urn:schemas-microsoft-com:vml">
<head>
<style>
</style>
</head>
<body>
<v:shape style=3D'width:234.75pt;height:135.75pt;'>
<v:imagedata src=3D"Doc2/i1.png" />
</v:shape>
</body>
</html>
------=_NextPart_
Content-Location: file:///C:/Doc2/i1.png
Content-Transfer-Encoding: base64
Content-Type: image/png
iVBORw0KGgoAAAANSUhEUgAAATkAAAC1CAYAAAAk5IjmAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
..
AAAAAElFTkSuQmCC
------=_NextPart_--
我也有类似的问题。我通过将 Base64 图像解码到磁盘并创建图像链接、在应用程序中部署 servlet 来侦听磁盘上图像指向的链接来解决这个问题。 这是我实施的解决方案: