wpf中xps文件合併功能實現

2021-09-07 19:35:01 字數 1085 閱讀 3770

原文:

wpf中xps文件合併功能實現

如果要是直接先開啟乙個xps檔案,用新檔案去寫fixeddocument,或者documentsequence ,新增到新的檔案中的話,會報錯,提示,

「system.windows.xps.xpspackagingexception」型別的未經處理的異常在 reachframework.dll 中發生其他資訊: package 已經有根 documentsequence 或 fixeddocument。「

」system.invalidoperationexception」型別的未經處理的異常在 presentationframework.dll 中發生其他資訊: 指定的元素已經是另乙個元素的邏輯子元素。請先將其斷開連線。「

通過研究微軟的乙個例子,終於搞定:

如果您技術超強,可以直接去看微軟的例子,那個上面定義了5個類,有預覽、顯示、檔案拖動,非同步讀取等等,非常的全的確是乙個好例子,也比較適合於學習如何定義類,但是很容易被裡面的東西給繞暈了,我比照的這個例子自己寫了乙個簡單的合併檔案的函式,可以比較直觀的了解xps的結構,複製的情況。

上**:

1

private

void button_click(object

sender, routedeventargs e)26

7//完全不使用類,函式方式

8public

void

mergedocument()936

37public documentreference addpage(string

filename)

3860}61

newdocref.setdocument(newfd);

62xpsdocument.close();

63return

newdocref;

64 }

在這個例子中,xps文件是通過頁面的方式直接讀取了以後複製的。

xps文件真是乙個好東西,我個人認為,我們完全可以將xps文件做成乙個簡單的報表列印工具,

尤其適合哪種使用者要求格式嚴格、資料專案比較多,列印要求不能有鋸齒的**列印(計算不是他的強項)。

wpf採用Xps實現文件顯示 套打功能

近期的乙個專案需對資料進行套打,使用者要求現場不允許安裝office 頁面預覽顯示必須要與文件完全一致,xps文件來對資料進行處理。wpf的documentview 控制項可以直接將資料進行顯示,xps也是一種開放式的文件,如果我們能夠替換裡面的標籤就最終實現了我們想要的效果。推薦兩篇關於xps的文...

WPF實現拖拽功能

兩個content控制項之間實現拖拽功能,在乙個控制項中啟動拖拽操作,在另乙個控制項中處理事件,如下,在兩個listview之間拖拽 在啟動拖拽控制項的mousemove事件裡啟動拖拽 private void listview1 mousemove object sender,mouseevent...

WPF 實現換膚功能

將所有控制項的基本樣式匯集到乙個資源字典中,構成介面的基本樣式檔案,然後進行不同顏色 的定製。即在新的 資源字典檔案中引入基本樣式檔案,然後使用資源繼承,並且只設定控制項的顏色屬性等,形成乙個 檔案。注意 在設定不同 檔案時,不同控制項的樣式名字必須固定,只改變其顏色就能形成新的 因為在介面xaml...