• <menu id="w2i4a"></menu>
  • logo Aspose.Words開發(fā)者指南

    文檔首頁>>Aspose.Words開發(fā)者指南>>Word格式處理控件Aspose.Words for .NET教程——使用DocumentBuilder將字段插入文檔

    Word格式處理控件Aspose.Words for .NET教程——使用DocumentBuilder將字段插入文檔


    Aspose.Words for .NET是一種高級Word文檔處理API,用于執(zhí)行各種文檔管理和操作任務。API支持生成,修改,轉換,呈現(xiàn)和打印文檔,而無需在跨平臺應用程序中直接使用Microsoft Word。此外,API支持所有流行的Word處理文件格式,并允許將Word文檔導出或轉換為固定布局文件格式和最常用的圖像/多媒體格式。

    >>Aspose.Words for .NET已經(jīng)更新至v20.6,Font.EmphasisMark向公眾公開,引入了MarkdownSaveOptions類,PDF版本1.5標記為過時,點擊下載體驗


    使用DocumentBuilder將字段插入文檔

    在Aspose.Words中,DocumentBuilder.InsertField方法用于在文檔中插入新字段。第一個參數(shù)接受要插入的字段的完整字段代碼。第二個參數(shù)是可選的,它允許手動設置字段的字段結果。如果未提供,則該字段將自動更新。您可以將null或empty傳遞給此參數(shù)以插入具有空字段值的字段。如果不確定特定的域代碼語法,請首先在Microsoft Word中創(chuàng)建該域,然后切換以查看其域代碼。

    下面的示例演示如何使用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);
    在字段級別指定語言環(huán)境

    語言標識符是國家或地理區(qū)域中語言的標準國際數(shù)字縮寫。使用Aspose.Words,可以在字段級別指定區(qū)域設置。Field.LocaleId屬性獲取或設置字段的語言環(huán)境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方法與參數(shù)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);

    還想要更多嗎?您可以點擊閱讀
    【2019 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入Aspose技術交流群(642018183),我們很高興為您提供查詢和咨詢。
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();