2010-02-02 79 views
0

我已经建立了一个自定义XML使用DOCX格式与Microsoft Word 2007合并,允许用户访问一个模式表达领域,包括他们在Word DOCX。然后我打开文件,搜索/替换整个文档,关闭它并在Word中打开它,完全合并。 随着专利诉讼损失,我们软件的新用户将无法创建文档,因为自定义XML架构已被关闭。多表计划合并到ODF文档文件

我想到做同样的和/或类似的OpenOffice的,但网上的任何接近已回避我发现的例子,到目前为止。我需要关于如何将“标签”放入我可以找到并替换的文档中,或从Open Office Writer中访问模式的信息。需要注意的是到正规的邮件合并,它假设一个平坦的合并文件的引用,也不会在我的情况下工作,因为我有多个表/一对多的关系,等等。

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

回答

0

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

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

,我会在我的程序中使用解压缩工具来打开文档,提取的content.xml文件,修改基于令牌的content.xml文件,关闭回来了,在开放式办公写入启动。

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

对于更精明的用户,我会实现一些附加的功能,如 ~~表名&开始〜 ~~表名&末〜 其中的文字开始,如果有记录结束令牌将只打印在那个表名中。

虽然还早,在这个过程中,但想分享我的想法。 Doug