[英]Add Comment in to selected Text in Word Document Using OpenXML c#
我需要使用OpenXML在Word文檔中添加注釋。 我需要添加注釋到一個位置或一個單詞(或多個單詞)。 通常,在word文檔openxml中,將這些文本作為運行元素返回。 但是我要添加注釋的單詞帶有不同的運行元素。 因此,我無法在我真正想要的文檔單詞中添加注釋。 這意味着我無法添加特定的CommentRangeStart
和CommentRangeEnd
對象。
我當前的實現如下。
foreach (var paragraph in document.MainDocumentPart.Document.Descendants<DocumentFormat.OpenXml.Wordprocessing.Paragraph>())
{
foreach (var run in paragraph.Elements<Run>())
{
var item = run.Elements<Text>().FirstOrDefault(b => b.Text.Trim() == "My words selection to add comment");
if (item != null)
{
run.InsertBefore(new CommentRangeStart() { Id = id }, item);
var cmtEnd = run.InsertAfter(new CommentRangeEnd() { Id = id }, item);
run.InsertAfter(new Run(new CommentReference() { Id = id }), cmtEnd);
}
}
}
更多詳情..
<w:r><w:t>This </w:t></w:r>
<w:r><w:t>is </w:t></w:r>
<w:r><w:t>a first paragraph</w:t></w:r>
因此,在這種情況下,如何在文本“ is first first”中添加注釋。
或者在某些情況下,openxml文檔包含以下run元素。
<w:r><w:t>This is a first paragraph</w:t></w:r>
因此,在這兩種情況下,如何在我的特定單詞選擇中添加注釋。 我在這里添加了一個截圖,正是我想要的。
如果樣式沒有變化,並且允許您操作文檔,則可以輕松地將所有運行合並到一個段落中,然后隔離文本運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.