-2
LINK Extract Embedded Image Object in RTF我的代碼與我提供的鏈接相同,但它在97-2003文檔中運行良好,現在在Office 2007/2010中相同的代碼無法工作。我們通常使用OLE對象檢查RTF,並根據公司規則拒絕我們的轉換,但即使在office-2007/2010中創建了RTF,但我們的代碼也會拒絕。在Office-2007創建的RTF中是否有任何解決方案?如何檢查rtf文件中是否存在OLE對象
using (StreamReader sr = new StreamReader(filePath))
{
RtfReader reader = new RtfReader(sr);
IEnumerator<RtfObject> enumerator = reader.Read().GetEnumerator();
while (enumerator.MoveNext())
{
if (enumerator.Current.Text == "object")
{
hasOLEObjects = true;
break;
}
}
}
public RtfReader(TextReader reader)
{
if (reader == null)
throw new ArgumentNullException("reader");
Reader = reader;
}
public class RtfObject
{
public RtfObject(string text)
{
if (text == null)
throw new ArgumentNullException("text");
Text = text.Trim();
}
public string Text { get; private set; }
}
'RtfReader'來自哪個名稱空間/包? –
它是一個TextReader – rajesh
沒有內置的類叫做'RtfReader'。這看起來像是一個自己的項目類。除了猜測明顯的問題之外,不可能幫助您未發佈的代碼。例如,你爲什麼要檢查元素的*內容*而不是它的類型?不'RtfReader'暴露元素類型?現在,您正在拒絕其文本中包含「對象」一詞的任何文檔。如果用戶開始使用具有「Object」標題的模板會怎麼樣? –