2010-02-02 59 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