0

我使用 docx 格式构建了与 Microsoft Word 2007 的自定义 XML 合并,允许用户访问以模式表示的字段并将它们包含在 Word DocX 中。然后我打开文件,在整个文档中进行搜索/替换,关闭并打开它,在 Word 中完全合并。随着专利诉讼的失败,我们软件的新用户将无法创建文档,因为自定义 XML 模式已被关闭。

我正在考虑在 OpenOffice 中做同样的和/或类似的事情,但是到目前为止,在网上找到任何接近的例子都让我回避了。我需要有关如何将“标签”放入可以查找和替换的文档中的信息,或者可以从 Open Office Writer 中访问架构的信息。请注意,对假定为平面合并文件的常规邮件合并的引用在我的情况下不起作用,因为我有多个表/一对多关系等。

任何链接或想法将不胜感激。

4

1 回答 1

0

在解决这个问题时,我提出了 3 个潜在的解决方案。

1)使用数据表/字段合并。这将涉及设置多个数据源,每个表一个,然后在幕后使用 XSLT 或更强力的方法来查找/替换。
2) 直接使用 XSLT 与文档中的样式。我很想告诉你我自己想出了这个,但它是/是 IBM 网站http://www.ibm.com/developerworks/edu/x-dw-x-xsltopenoff.html上的一篇文章。是的,您必须注册,但这是一本有趣的书。3) 将令牌放入文档中并使用令牌进行查找/替换。这是我选择使用的方法。

我将在我的程序中使用解压缩实用程序打开文档,提取 content.xml 文件,根据令牌修改 content.xml,将其关闭并在 Open Office Write 中启动。

选择的原因是我的用户需要能够访问他们被授权的任何表中的任何字段,但他们通常不会对数据表和/或复杂的样式表感到满意。通过允许他们在 ~~tablename.fieldname~ 中放入他们想要的任何地方,我以最小的开销为他们提供了最大的灵活性。此外,我可以编写一个实用程序来帮助他们构建文档,以便他们可以拖放到文档中……至少这是目前的计划。

对于更精明的用户,我将实现一些额外的功能,如 ~~tablename&begin~ ~~tablename&end~ 其中开始和结束标记之间的文本只有在该表名中有记录时才会打印。

还处于早期阶段,但想分享我的想法。道格

于 2010-02-19T20:15:44.917 回答