2016-07-19 79 views
0

我的程序所做的是從一個文檔獲取一些文本並替換另一個文檔(.docx)中的標記。Novacode DocX Library,Argument保存文檔時出現異常

對於大多數文檔這部作品絕對完美,但有時我碰上參數異常:

「♂」十六進制值0x0B中是不是一個有效的字符
'十六進制值0x07的是不是一個有效的字符

現在我查看了這些例外情況(主要是.docs)中的文檔(抱歉,無法在這裏分享這些公司機密等),並且我無法在任何地方找到引用的字符。我也查看了提取的文本,在那裏找不到任何惡意字符,也沒有任何文檔標題(我擺脫了所有非字母數字字符)。

另外在document.SaveAs()函數期間發生異常。

有誰知道問題可能在這裏,如果我應該發佈我的代碼,我會很樂意這樣做。

回答

0

我能夠自己解決這個問題,我只是把原本應該進入最終文件的文本替換掉所有錯誤的文字。

doc.ActiveWindow.Selection.WholeStory(); 
text.Append(doc.ActiveWindow.Selection.Text); 
var regex = "[\x00-\x08\x0B\x0C\x0E-\x1F]"; 
var cleanedText = Regex.Replace(text.ToString(), regex, String.Empty, RegexOptions.Compiled);