如何将base64图像保存在ODT opendocument/ODT文件中?

发布于 2025-01-18 23:04:59 字数 2156 浏览 2 评论 0原文

我正在尝试从XML创建一个ODT文件。我一直在尝试使用< Office:binary-data>它是一个base64映像。

在尝试按照文档中告知的操作之后,该图像未显示在文本编辑器(Word和libreoffice)中。

这是我的实现:

<text:p text:style-name="P6"><draw:frame draw:name="img0" svg:width="33pt" svg:heigh="12pt"><draw:image xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"><office:binary-data>iVBORw0KGgoAAAANSUhEUgAAAEMAAAAZCAYAAABq35PiAAAAAXNSR0IArs4c6QAABH9JREFUWEftmF2IG1UUx//ZzWZ3s0mapOmQZJPNfgQFrYqKsqIFH6qi+FARq7YIfrwIVrQWSv2ogpSKVC0IiiIigmitWh9EahV9qWLBUh/8VtJtMpNtNl+TmI9tZiYZuXdnx83sTDNpEncrnceZe+6c+7vn3PM/1yJHozIuPJSAxQgGIdQAIMsLrCwWCywA+s5jcHQ9mjWR9ZB16cLgJAn3pFL47swZ3WWHrFYc8Ptx/dDQeYPltWIR2zIZQ3+3rVmDfT5fc2RUZRkbOA4najVq6OxbiINSgzD99yHvfx8bQ9BqXfVAPiqXsTmVUv1k+vuRrteX+b3L42mG8Ugmg9eLRdw4PIw3GAYXDQzQEPpZEPBwOt0ULZsdDnzo969qGDOiiMl4nPr4NsOA+Ozo68O8LOPNYhHbs9km/9Uzg0TFSCyGLU4n3mUYWC2LmbQwXpBlXMmy+FUQ1Anq0eiqPkP28jyezuVwPBzG1YODyzbuQLmMe5dEjQrjk3IZD6TTiI+Pw6Okh9b6y2oVt8zOqq9jkQgmBwa6Eh0/1mo4Uq3Suba73RjUbMa5/OTieBxbnU486/Uaml/HcTimnI8qjEczGXpG7F271tAwW69j3cyM+v2vSATRLsHYx/PYmcvRuYuTk3AZbIhZKHFJwmWJBE5GIvD19xuaPZHNYn+hQL8bllY9a1GWYYvF1E/i1NSydDLrrHZct2GY9WMPz2O3sgltwfhFELA+kaD/mR4awvehkNl/thy3UjDuTqVwsFxuPzI+KJWwZW6OGn4aCGDTyEjLRZodsFIwwqdOgWiry20282lClMY0y+KHWo0KrqOhkKrczC74bONWAsbhahW3KQXhq2DQPIylZeinsTGst9m6wUCd47+GIckyLk0k8Kco4n6XC+8wjDkYfzca1JCE06FAAHecY3oQjXKoUtGF+EWlooq6Z7xew9L6pMcD49pgfn8WJTo5+74ZHcUw6b1ada2ksbkrlQLRIft9Pjzudpv/o2bkK4UCdmhUX7uTdaOCkVS/lmWpRjoWCmGdUnpbwng+n8dz+Tx2uN14yedr1/em8Z3CIDooPzHRUTlPShKuYlkqyU+Ew0066aww3iuVcN/cHB50ufAWw3QsvUl7VFeuBLRUXy4U8JRS79MTE7qii6SHtk1oZ3dIw3kDx2FGknB0dBRXaCS6IYyv5+exMZmk58NBv78jJ8w43OsDlPRWm06fBqkg34ZCulcQujCO12q4hmVxq91O9YRRn0D6iRd4nsLq9OklDCILSIS/XyqBlNCNdruuu8tg/CGKFATp8j4PBmE3aJgSkoSbkkk85HJhp8fTKQv0EsZj2SxeLRTwWSCA2w0qISm1TTBI/z/NcfTyg9xleHUaHJLzuUYDJ0WRAkiOj3flkqdXMHbn89iTz6sthN6uVRsNeo6oMGYlCRuSSXWRZrb6TocDH3chRci/egHjRZ7HLuVQNrMeFcZWJafMGC2OORIM4maD/GtnHi2MytSUYXqanfc3QcAlSlNp1qalzjA70f9h3AUYS3bxH4qEFn6d3vcdAAAAAElFTkSuQmCC</office:binary-data></draw:image></draw:frame></text:p>

我尝试了不同的图像,但都给了我相同的结果。

I am trying to create an ODT file from xml. I have been trying to add an image using <office:binary-data>, it is a base64 image.

After trying to do as it is told in documentation, the image is not displayed in text editors (Word and LibreOffice).

Here is my implementation:

<text:p text:style-name="P6"><draw:frame draw:name="img0" svg:width="33pt" svg:heigh="12pt"><draw:image xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"><office:binary-data>iVBORw0KGgoAAAANSUhEUgAAAEMAAAAZCAYAAABq35PiAAAAAXNSR0IArs4c6QAABH9JREFUWEftmF2IG1UUx//ZzWZ3s0mapOmQZJPNfgQFrYqKsqIFH6qi+FARq7YIfrwIVrQWSv2ogpSKVC0IiiIigmitWh9EahV9qWLBUh/8VtJtMpNtNl+TmI9tZiYZuXdnx83sTDNpEncrnceZe+6c+7vn3PM/1yJHozIuPJSAxQgGIdQAIMsLrCwWCywA+s5jcHQ9mjWR9ZB16cLgJAn3pFL47swZ3WWHrFYc8Ptx/dDQeYPltWIR2zIZQ3+3rVmDfT5fc2RUZRkbOA4najVq6OxbiINSgzD99yHvfx8bQ9BqXfVAPiqXsTmVUv1k+vuRrteX+b3L42mG8Ugmg9eLRdw4PIw3GAYXDQzQEPpZEPBwOt0ULZsdDnzo969qGDOiiMl4nPr4NsOA+Ozo68O8LOPNYhHbs9km/9Uzg0TFSCyGLU4n3mUYWC2LmbQwXpBlXMmy+FUQ1Anq0eiqPkP28jyezuVwPBzG1YODyzbuQLmMe5dEjQrjk3IZD6TTiI+Pw6Okh9b6y2oVt8zOqq9jkQgmBwa6Eh0/1mo4Uq3Suba73RjUbMa5/OTieBxbnU486/Uaml/HcTimnI8qjEczGXpG7F271tAwW69j3cyM+v2vSATRLsHYx/PYmcvRuYuTk3AZbIhZKHFJwmWJBE5GIvD19xuaPZHNYn+hQL8bllY9a1GWYYvF1E/i1NSydDLrrHZct2GY9WMPz2O3sgltwfhFELA+kaD/mR4awvehkNl/thy3UjDuTqVwsFxuPzI+KJWwZW6OGn4aCGDTyEjLRZodsFIwwqdOgWiry20282lClMY0y+KHWo0KrqOhkKrczC74bONWAsbhahW3KQXhq2DQPIylZeinsTGst9m6wUCd47+GIckyLk0k8Kco4n6XC+8wjDkYfzca1JCE06FAAHecY3oQjXKoUtGF+EWlooq6Z7xew9L6pMcD49pgfn8WJTo5+74ZHcUw6b1ada2ksbkrlQLRIft9Pjzudpv/o2bkK4UCdmhUX7uTdaOCkVS/lmWpRjoWCmGdUnpbwng+n8dz+Tx2uN14yedr1/em8Z3CIDooPzHRUTlPShKuYlkqyU+Ew0066aww3iuVcN/cHB50ufAWw3QsvUl7VFeuBLRUXy4U8JRS79MTE7qii6SHtk1oZ3dIw3kDx2FGknB0dBRXaCS6IYyv5+exMZmk58NBv78jJ8w43OsDlPRWm06fBqkg34ZCulcQujCO12q4hmVxq91O9YRRn0D6iRd4nsLq9OklDCILSIS/XyqBlNCNdruuu8tg/CGKFATp8j4PBmE3aJgSkoSbkkk85HJhp8fTKQv0EsZj2SxeLRTwWSCA2w0qISm1TTBI/z/NcfTyg9xleHUaHJLzuUYDJ0WRAkiOj3flkqdXMHbn89iTz6sthN6uVRsNeo6oMGYlCRuSSXWRZrb6TocDH3chRci/egHjRZ7HLuVQNrMeFcZWJafMGC2OORIM4maD/GtnHi2MytSUYXqanfc3QcAlSlNp1qalzjA70f9h3AUYS3bxH4qEFn6d3vcdAAAAAElFTkSuQmCC</office:binary-data></draw:image></draw:frame></text:p>

I have tried different images but all give me same result.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷乱花海 2025-01-25 23:04:59

该实现的示例可以通过创建最终是XML文档的Flat ODT文件来获得。

看起来您缺少draw:mime-type &lt; draw; draw:image draw:mime-type =“ image/png”&gt;

检查它显示:

   <text:p text:style-name="P2"><draw:frame draw:style-name="fr1" draw:name="Image1" text:anchor-type="paragraph" svg:width="6.322in" draw:z-index="0">
     <draw:text-box fo:min-height="0.9165in">
      <text:p text:style-name="P1"><draw:frame draw:style-name="fr2" draw:name="Image2" text:anchor-type="as-char" svg:width="6.322in" svg:height="0.9165in" draw:z-index="1">
        <draw:image draw:mime-type="image/png">
         <office:binary-data>iVBORw0KGgoAAAANSUhEUgAAAl8AAABYCAIAAABERwXbAAAACXBIWXMAAA7EAAAOxAGVKw4b
          AAAgAElEQVR4nOydeTxU3f/APzNjbDMYQulRlhTtCiVaULTYGhEtohIqpTyhbO2ylIgIqbQI

An example of that implementation can be obtained by creating a Flat ODT file which is an XML document in the end.

Looks like you are missing the draw:mime-type attribute in <draw:image draw:mime-type="image/png">

Inspecting it shows:

   <text:p text:style-name="P2"><draw:frame draw:style-name="fr1" draw:name="Image1" text:anchor-type="paragraph" svg:width="6.322in" draw:z-index="0">
     <draw:text-box fo:min-height="0.9165in">
      <text:p text:style-name="P1"><draw:frame draw:style-name="fr2" draw:name="Image2" text:anchor-type="as-char" svg:width="6.322in" svg:height="0.9165in" draw:z-index="1">
        <draw:image draw:mime-type="image/png">
         <office:binary-data>iVBORw0KGgoAAAANSUhEUgAAAl8AAABYCAIAAABERwXbAAAACXBIWXMAAA7EAAAOxAGVKw4b
          AAAgAElEQVR4nOydeTxU3f/APzNjbDMYQulRlhTtCiVaULTYGhEtohIqpTyhbO2ylIgIqbQI
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文