欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Aspose.Words for .NET使用教程:使用文档之管理跟踪更改

程序员文章站 2022-04-09 09:16:06
...

Aspose.Words For .Net是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,API支持所有流行的Word处理文件格式,并允许将Word文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

下载Aspose.Words for .NET最新试用版

访问样式

您可以使用Document.Styles属性获取文档中定义的样式集合。此集合包含文档中的内置和用户定义样式。可以通过名称/别名,样式标识符或索引获取特定样式。 下面的代码示例显示了如何访问文档中定义的样式集合。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithDocument();
// Load the template document.
Document doc = new Document(dataDir + "TestFile.doc");
// Get styles collection from document.
StyleCollection styles = doc.Styles;
string styleName = "";
// Iterate through all the styles.
foreach (Style style in styles)
{
    if (styleName == "")
    {
        styleName = style.Name;
    }
    else
    {
        styleName = styleName + ", " + style.Name;
    }
}复制代码

获取文档变量

您可以使用Document.Variables属性获取文档变量的集合。变量名称和值是字符串。下面的代码示例显示了如何枚举文档变量。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithDocument();
// Load the template document.
Document doc = new Document(dataDir + "TestFile.doc");
string variables = "";
foreach (KeyValuePairentry in doc.Variables)
{
    string name = entry.Key.ToString();
    string value = entry.Value.ToString();
    if (variables == "")
    {
        // Do something useful.
        variables = "Name: " + name + "," + "Value: {1}" + value;
    }
    else
    {
        variables = variables + "Name: " + name + "," + "Value: {1}" + value;
    }
}复制代码

管理跟踪更改

下面我们一起来了解Aspose.Words如何支持Microsoft Word的Track Changes功能。 Microsoft Word中的“跟踪更改”功能(也称为“审阅”)允许您跟踪用户对内容和格式的更改。启用此功能后,将直观地突出显示文档的所有插入,删除和修改元素,并提供有关更改者,时间和内容的信息。携带有关更改内容的信息的对象称为“跟踪更改”或“修订”。

Aspose.Words保留评论和修订

当您使用Aspose.Words打开Microsoft Word文档然后保存它时,将保留文档中的所有注释和修订。

接受修订

该Document.AcceptAllRevisions方法让你“接受”文档中的所有修订。调用此方法类似于在Microsoft Word中选择“接受所有更改”。Aspose.Words实际上会删除“删除修订版”的片段,保留“插入修订版”的片段并应用格式更改。请注意,此操作期间注释不受影响。在Aspose.Words中,您可以通过调用Document.AcceptAllRevisions方法接受对文档的跟踪更改。 下面的代码示例显示了如何接受文档中的所有跟踪更改。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithDocument();
Document doc = new Document(dataDir + "Document.doc");

// Start tracking and make some revisions.
doc.StartTrackRevisions("Author");
doc.FirstSection.Body.AppendParagraph("Hello world!");

// Revisions will now show up as normal text in the output document.
doc.AcceptAllRevisions();

dataDir = dataDir + "Document.AcceptedRevisions_out.doc";
doc.Save(dataDir);复制代码

以编程方式访问修订

可以在Word文档中插入,删除和格式化更改修订。Aspose.Words允许您以编程方式检测某些类型的修订.InsInsertRevision,IsDeleteRevision,IsMoveFromRevision和IsMoveToRevision属性可用于Run和Paragraph对象,允许您在更改跟踪时检测此对象是否在Microsoft Word中插入,删除或移动如果文档至少有一个版本,则Document.HasRevisions属性返回true。可以将Document.TrackRevisions属性设置为true,以指示是否启用Microsoft Word中的修订跟踪。

Document doc = new Document(dataDir + "Revisions.docx");

ParagraphCollection paragraphs = doc.FirstSection.Body.Paragraphs;
for (int i = 0; i < paragraphs.Count; i++)
{
    if (paragraphs[i].IsMoveFromRevision)
        Console.WriteLine("The paragraph {0} has been moved (deleted).", i);
    if (paragraphs[i].IsMoveToRevision)
        Console.WriteLine("The paragraph {0} has been moved (inserted).", i);
}复制代码

访问修订组

Aspose.Words中的修订是一个文档节点的更改。相邻文档节点中的相同类型的一组顺序修订形成修订组。类似的修订组显示在MS Word的“审阅窗格”中。RevisionGroup类表示一组顺序的Revision对象。 下面的代码示例显示了如何获取修订版及其组。

Document doc = new Document(dataDir + "Revisions.docx");

foreach (RevisionGroup group in doc.Revisions.Groups)
{
    Console.WriteLine("{0}, {1}:", group.Author, group.RevisionType);
    Console.WriteLine(group.Text);
}复制代码

获得保护类型

你可以通过获取Document.ProtectionType属性的值来检索文档保护的类型。下面的代码示例显示了如何获取当前在文档中设置的保护类型。

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(inputFileName);
ProtectionType protectionType = doc.ProtectionType;复制代码

以编程方式访问评论

注释在文档树中表示为Comment类的对象。您可以像Aspose.Words文档对象模型中的任何其他节点一样以编程方式添加,删除或修改注释。Comment是一个复合节点,可以包含构成注释文本的段落和表格。Comment类还提供对注释作者的姓名和首字母的访问。

设置视图选项

在Microsoft Word中打开文档时,可以控制文档的视图。例如,您可能希望切换到打印布局或更改缩放值。使用Document对象的Settings.ViewOptions属性设置视图选项。以下代码显示如何确保在Microsoft Word中打开时文档以50%缩放显示。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithDocument();
// Load the template document.
Document doc = new Document(dataDir + "TestFile.doc");
// Set view option.
doc.ViewOptions.ViewType = ViewType.PageLayout;
doc.ViewOptions.ZoomPercent = 50;

dataDir = dataDir + "TestFile.SetZoom_out.doc";
// Save the finished document.
doc.Save(dataDir);复制代码

如果你有任何问题或意见,可在下方评论区留言,点击资源列表查看更多教程资源~