• Word格式处理控件Aspose.Words for .NET教程——使用DocumentBuilder将字段插入文档


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

    >>Aspose.Words for .NET已经更新至最新版,Font.EmphasisMark向公众公开,引入了MarkdownSaveOptions类,PDF版本1.5标记为过时,点击下载体验


    使用DocumentBuilder将字段插入文档

    在Aspose.Words中,DocumentBuilder.InsertField方法用于在文档中插入新字段。第一个参数接受要插入的字段的完整字段代码。第二个参数是可选的,它允许手动设置字段的字段结果。如果未提供,则该字段将自动更新。您可以将null或empty传递给此参数以插入具有空字段值的字段。如果不确定特定的域代码语法,请首先在Microsoft Word中创建该域,然后切换以查看其域代码。

    下面的示例演示如何使用DocumentBuilder将合并字段插入文档中。

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithFields();
    
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    builder.InsertField(@"MERGEFIELD MyFieldName \* MERGEFORMAT");
    dataDir = dataDir + "InsertField_out.docx";
    doc.Save(dataDir);

    下面的示例使用DocumentBuilder将合并字段插入文档中。

    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    
    // Insert content with German locale.
    builder.Font.LocaleId = 1031;
    builder.InsertField("MERGEFIELD Date1 \\@ \"dddd, d MMMM yyyy\"");
    builder.Write(" - ");
    builder.InsertField("MERGEFIELD Date2 \\@ \"dddd, d MMMM yyyy\"");

    使用相同的技术来插入嵌套在其他字段中的字段。 下面的示例演示如何使用DocumentBuilder插入嵌套在另一个字段中的字段。

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithFields();
    
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    
    // Insert a few page breaks (just for testing)
    for (int i = 0; i < 5; i++) builder.InsertBreak(BreakType.PageBreak); // Move the DocumentBuilder cursor into the primary footer. builder.MoveToHeaderFooter(HeaderFooterType.FooterPrimary); // We want to insert a field like this: // { IF {PAGE} <> {NUMPAGES} "See Next Page" "Last Page" }
    Field field = builder.InsertField(@"IF ");
    builder.MoveTo(field.Separator);
    builder.InsertField("PAGE");
    builder.Write(" <> ");
    builder.InsertField("NUMPAGES");
    builder.Write(" \"See Next Page\" \"Last Page\" ");
    
    // Finally update the outer field to recalcaluate the final value. Doing this will automatically update
    // The inner fields at the same time.
    field.Update();
    dataDir = dataDir + "InsertNestedFields_out.docx";
    doc.Save(dataDir);

    在字段级别指定语言环境

    语言标识符是国家或地理区域中语言的标准国际数字缩写。使用Aspose.Words,可以在字段级别指定区域设置。Field.LocaleId属性获取或设置字段的语言环境ID。下面的示例说明了如何使用此选项。

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithFields();
    DocumentBuilder builder = new DocumentBuilder();
    Field field = builder.InsertField(FieldType.FieldDate, true);
    field.LocaleId = 1049;
    builder.Document.Save(dataDir + "SpecifylocaleAtFieldlevel_out.docx");

    插入无类型/空字段

    如果要像MS Word允许的那样插入无类型/空字段({}),则可以将DocumentBuilder.InsertField方法与参数FieldType.FieldNone一起使用。要在Word文档中插入字段,可以按“ Ctrl + F9”组合键。下面的代码示例演示如何在文档中插入空白字段。

    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    FieldUnknown field = (FieldUnknown)builder.InsertField(FieldType.FieldNone, false);
    
    dataDir = dataDir + "InsertFieldNone_out.docx";
    doc.Save(dataDir);
  • 相关阅读:
    WordPress 安装教程
    nebula graph调研
    tomcat部署
    Java使用原生API调用第三方接口
    stm32 操作W25Q256 W25Q16 spi flash
    制作404页面的注意事项
    WebSocket编程golang
    Win10+Python3.10+OpenCV4.6.0加载显示图片
    如何从一个美术变成程序员?
    在 .NET 中使用 FixedTimeEquals 应对计时攻击
  • 原文地址:https://blog.csdn.net/m0_67129275/article/details/125989923