读写DOCX文件

Read and Write DOCX file

本文关键字:文件 DOCX 读写      更新时间:2023-10-16

我有2个docx文件,我正在工作。一个docx文件包含产品的文本信息(起始序列号、长度、宽度和高度)。另一个docx文件包含一个带有图像和来自第一个文件的所有文本信息的贴纸标签。

这是我目前所做的:我打开第一个docx文件并复制所有文本信息(序列、长度、宽度和高度)然后将每个信息粘贴到包含格式化标签的第二个docx文件中。如果我需要制作多个标签,我复制标签并将序列号增加1。

为不同的产品制作几个标签需要花费很多时间。我的目标是提出一种更简单的方法,从一个docx获取数据并将其注入另一个docx。同时,在需要时生成更多的标签。

我的第一个想法是提取docx文件,以获得它的xml内容。然后使用javascript、c++或任何其他语言读取数据。然后要求用户输入要生成的标签数量,操作xml,并将其重新打包为docx文件。

然后我想尝试使用windows office的"邮件合并"功能,但我以前从未这样做过。

我想知道是否有人有一个简单的解决方案,从一个docx文件导入数据,并生成标签到另一个建议。

我愿意接受任何建议。

而且,我不是一个专业的程序员。我是一名计算机工程专业的本科生,有c, c++, java, javascript, python, MIPS汇编和php的一些经验。

  1. 我知道的唯一开源(可能更容易获得)解决方案是:
http://poi.apache.org/

http://poi.apache.org/document/quick-guide-xwpf.html

这是一个很好的选择,当谈到速度和它是自由软件。

但是如果你打开一个文件,修改它并再次保存它-结果可能是不稳定的:格式可能会稍微偏离。至少在我对pptx的测试中是这样的。

我认为当你有用户交互(网页?)为了创建文档,你可以围绕库构建一个小的HTTP Api。

还有:http://www.docx4java.org/trac/docx4j -我还没有测试过。

  • 你也可以采用c#/Redmond的方式:我如何用Microsoft.Office.Interop.Word创建。docx文档?
  • 当涉及到格式的准确性时,互操作(上述问题第一个答案中的第二个例子)方法给出了最好的结果。基本上,当你用互操作打开一个文件时,当你修改并保存它时,它看起来是一样的。但是你不能在与用户交互时使用这个功能——因为它会启动一个单独的MS Office进程——从我自己的用户体验来看,我不会指望这个功能。但是如果你想在单用户会话中批量生成这些文件,它将提供一个很好的结果。

    我不能评论上面SO问题中描述的"OpenXML SDK"库。

    关注Open XML https://www.youtube.com/watch?v=rMnEl6JZ7I8和网站开发人员http://openxmldeveloper.org/。在网站上你找到了sdk:

    • 为JavaScript打开XML SDK: http://openxmldeveloper.org/wiki/w/wiki/open-xml-sdk-for-javascript.aspx演示:http://openxmldeveloper.org/blog/b/openxmldeveloper/p/openxmlsdkjs_demo.aspx
    • 打开XML和Java http://openxmldeveloper.org/blog/b/openxmldeveloper/archive/2006/11/21/openxmlandjava.aspx
    • 。资源网http://openxmldeveloper.org/resources/dotnet/m/cc/default.aspx