我正在使用2个docx文件。一个docx文件包含产品的文本信息(起始序列号,长度,宽度和高度)。另一个docx文件包含带有图像的贴纸标签以及第一个文件中的所有文本信息。
这就是我目前所做的事情: 我打开第一个docx文件并复制所有文本信息(序列号,长度,宽度和高度) 然后我将每个信息粘贴到包含格式化标签的第二个docx文件中。 如果我需要制作多个标签,我会复制标签并将序列号递增1。
这需要花费大量时间为不同的产品制作多个标签。我的目标是提出一种更简单的方法从一个docx中获取数据并将其注入另一个docx。此外,在需要时生成更多标签。
我的第一个想法是提取docx文件以获取它的xml内容。然后使用javascript,c ++或任何其他语言读取数据。然后要求用户输入要生成的标签数量,操作xml,并将其重新打包为docx文件。
然后我想到尝试使用Windows办公室"邮件合并"功能,但我以前从未这样做过。
我想知道是否有人建议您从一个docx文件导入数据并将标签生成到另一个docx文件中。
我愿意接受任何建议。
另外,我不是专业的程序员。我是一名本科计算机工程专业的学生,在c,c ++,java,javascript,python,MIPS汇编和php方面有一些经验。
答案 0 :(得分:1)
http://poi.apache.org/document/quick-guide-xwpf.html
在速度方面,这是一个不错的选择,它是免费软件。
但是如果你打开一个文件,改变它并再次保存 - 结果可能是不稳定的:格式化可能稍微偏离。至少在我与pptx对手的测试中。
我认为当您进行用户交互(网页?)以创建文档时,您可以在库周围构建一个小的HTTP Api。
还有:http://www.docx4java.org/trac/docx4j - 我还没有测试过。
Interop(上面问题的第一个答案中的第二个例子)方式在格式化准确性方面给出了最好的结果。基本上,当您使用Interop打开文件时 - 更改和保存时它看起来会一样。但是在与用户交互时不能使用它 - 因为它启动了一个单独的MS Office进程 - 我不会依赖于我自己的用户体验。但是,如果您想在单个用户会话中批量生成这些文件 - 它将产生良好的结果。
我无法评论" OpenXML SDK"上述SO问题中描述的库。
答案 1 :(得分:0)
了解Open XML https://www.youtube.com/watch?v=rMnEl6JZ7I8和网站开发人员http://openxmldeveloper.org/。 在网站上你找到了sdk: