-1

我正在使用打开的 XML SDK 向 Word 文档添加书签,并且我还以编程方式设置书签 ID 和名称,在 Word 中打开文档后,我将文档重新打开为 WordprocessingDocument,我发现书签 ID 已更改为像 0,1,2... 这样的值,我想知道 Word 为什么要修改书签 ID,我仍然可以使用名称而不是 id 来查找书签,因为我对 id 和 name 使用相同的值但是这种行为对我来说看起来很奇怪。

这是我使用的代码:

BookmarkStart bookmarkStart1 = CreateBookmarkStart(entity.Id.ToString(), entity.Id);
        BookmarkEnd bookmarkEnd1 = CreateBookmarkEnd(entity.Id);
        Paragraph paragraph1 = CreateParagraph();
        body.Append(bookmarkStart1);
        body.Append(paragraph1);
        body.Append(bookmarkEnd1);


private static BookmarkStart CreateBookmarkStart(String name, long id)
    {
        return new BookmarkStart
        {
            Name = name,
            Id = id.ToString()
        };
    }

private static BookmarkEnd CreateBookmarkEnd(long id)
    {
        return new BookmarkEnd() { Id = id.ToString() };
    }

使用的 id 值如下: 245103 、 39045 ...

4

1 回答 1

1

正如您所注意到的,您可以(并且应该)依赖书签名称,而不是 ID。REF 字段之类的东西使用名称,而不是 ID。

该 ID 似乎只用于配对书签开始和结束点标签。

于 2013-09-17T21:05:15.237 回答