Word開發工具功能推薦:使用Aspose.Words for C ++創建重覆節內容控制項

来源:https://www.cnblogs.com/mnrssj-Aspsoe/archive/2019/10/25/11737793.html
-Advertisement-
Play Games

Aspose.Words for C ++ 是一種高級Word文檔處理API,用於執行各種文檔處理任務。API直接在您自己的C ++應用程式中提供文檔格式化,操作,郵件合併,水印和更多功能,而無需Microsoft Word。API支持大多數Microsoft Word格式進行處理。 近期更新了As ...


Aspose.Words for C ++ 是一種高級Word文檔處理API,用於執行各種文檔處理任務。API直接在您自己的C ++應用程式中提供文檔格式化,操作,郵件合併,水印和更多功能,而無需Microsoft Word。API支持大多數Microsoft Word格式進行處理。

近期更新了Aspose.Words for C ++ v19.10,允許在同一項目中使用多個Aspose產品,在Skia上實現渲染引擎以提高渲染的質量和穩定性,具體更新內容同Aspose.Words for .Net

Aspose.Words for C ++與其等效的.NET版本的API相比有一些差異:

  • 當前版本不支持加密功能-無法驗證,簽名,加密或解密文檔。
  • 當前版本不支持從Internet下載遠程資源。
  • 當前版本不支持計量許可證。
  • 當前版本不支持多頁TIFF格式。
  • 當前版本不支持LINQ和報告功能。
  • 當前版本對資料庫功能的支持有限-C ++沒有用於DB的通用API,例如.Net System.Data。
  • 當前版本僅支持Microsoft Visual C ++版本2015或更高版本,並且僅支持x64平臺。

本文將為大家介紹一個有趣的的功能——在Word文檔中創建重覆節內容控制項

重覆部分內容控制項允許重覆其中包含的內容。為此,SdtType枚舉類型提供了RepeatingSectionItem屬性。下麵的代碼示例演示如何將Word文檔中的重覆節內容控制項綁定到表。

System::SharedPtr<Document> doc = System::MakeObject<Document>();    

System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);    

System::SharedPtr<CustomXmlPart> xmlPart = doc->get_CustomXmlParts()->Add(u"Books", u"<books><book><title>Everyday Italian</title><author>Giada De Laurentiis</author></book><book><title>Harry Potter</title><author>J K. Rowling</author></book><book><title>Learning XML</title><author>Erik T. Ray</author></book></books>");    
System::SharedPtr<Table> table = builder->StartTable();    

builder->InsertCell();    
builder->Write(u"Title");    

builder->InsertCell();    
builder->Write(u"Author");    

builder->EndRow();    
builder->EndTable();    

System::SharedPtr <StructuredDocumentTag> repeatingSectionSdt = System::MakeObject<StructuredDocumentTag>(doc, SdtType::RepeatingSection, MarkupLevel::Row);    
repeatingSectionSdt->get_XmlMapping()->SetMapping(xmlPart, u"/books[1]/book", u"");    
table->AppendChild(repeatingSectionSdt);    

System::SharedPtr <StructuredDocumentTag> repeatingSectionItemSdt = System::MakeObject<StructuredDocumentTag>(doc, SdtType::RepeatingSectionItem, MarkupLevel::Row);    
repeatingSectionSdt->AppendChild(repeatingSectionItemSdt);    

System::SharedPtr<Row> row = System::MakeObject<Row>(doc);    
repeatingSectionItemSdt->AppendChild(row);    

System::SharedPtr <StructuredDocumentTag> titleSdt = System::MakeObject<StructuredDocumentTag>(doc, SdtType::PlainText, MarkupLevel::Cell);    
titleSdt->get_XmlMapping()->SetMapping(xmlPart, u"/books[1]/book[1]/title[1]", u"");    
row->AppendChild(titleSdt);    

System::SharedPtr <StructuredDocumentTag> authorSdt = System::MakeObject<StructuredDocumentTag>(doc, SdtType::PlainText, MarkupLevel::Cell);    
authorSdt->get_XmlMapping()->SetMapping(xmlPart, u"/books[1]/book[1]/author[1]", u"");    
row->AppendChild(authorSdt);    
doc->Save(outputDataDir + u"Document.docx");複製代碼

將自定義文檔屬性鏈接到書簽

“ Aspose.Words for C ++” API現在提供了一種方法CustomDocumentProperties.addLinkToContent(String,String)來創建新的“鏈接至內容”自定義文檔屬性,該屬性將返回新創建的屬性對象;如果鏈接源無效,則返回null。下麵的代碼示例演示如何配置到內容定製屬性的鏈接。

System::SharedPtrdoc = System::MakeObject(inputDataDir + u"test.docx");

// Retrieve a list of all custom document properties from the file.
System::SharedPtrcustomProperties = doc->get_CustomDocumentProperties();

// Add linked to content property.
System::SharedPtrcustomProperty = customProperties->AddLinkToContent(u"PropertyName", u"BookmarkName");

// Also, accessing the custom document property can be performed by using the property name.
customProperty = customProperties->idx_get(customProperties->IndexOf(u"PropertyName"));

// Check whether the property is linked to content.
bool isLinkedToContent = customProperty->get_IsLinkToContent();

// Get the source of the property.
System::String source = customProperty->get_LinkSource();

// Get the value of the property.
System::String value = customProperty->get_Value()->ToString();
有何Aspose需求的可在評論區留言哦~
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、簡介 在for和while的迴圈是在頭部寫測試迴圈條件,而do....while的迴圈是在迴圈的尾部寫測試條件 do...while的迴圈和while的類似,但是do...while的最少執行一次迴圈體。 二、語法 do{ 迴圈體; } while{ 條件; } 三、執行過程 程式先執行do{} ...
  • 場景 DevExpress的TreeList怎樣設置數據源使其顯示成單列樹形結構: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102742426 在上面設置TreeList的數據源並設置其為樹形結構後,如何給樹形結構設置圖標 ...
  • 一、簡要說明 文章信息: 基於的 ABP vNext 版本:1.0.0 創作日期:2019 年 10 月 24 日晚 更新日期:暫無 ABP vNext 提供了後臺工作者和後臺作業的支持,基本實現與原來的 ABP 框架類似,並且 ABP vNext 還提供了對 HangFire 和 RabbitMQ ...
  • 一、sqlcommon的特色 1. 輕量級,整個包只有123kb。 2. 性能好,自測。。。 3. API和功能簡單、代碼簡短、可維護性好基本都能看懂。這個點我認為很重要,你不用為了實現一個需求而四處查資料,這意味著這個包你可以自行維護修改(修改版只限自己使用尊重一下作者創作權)。 4. 面向ADO ...
  • 一、簡介 foreach迴圈可以迭代數組或者一個集合對象 二、語法 foreach(數據類型 變數名 in 數組名) { //語句塊; } 迴圈運行的過程:每一次迴圈時,從集合中取出一個新的元素值。放到只讀變數中去,如果括弧中的整個表達式返回值為 true,foreach 塊中的語句就能夠執行。 一 ...
  • 在開發過程中,我們經常會遇到對業務數據進行模糊搜索的需求,例如電商網站對於商品的搜索,以及內容網站對於內容的關鍵字檢索等等。對於這些高級的搜索功能,顯然資料庫的 Like 是不合適的,通常我們採用 ElasticSearch 來完成數據的搜索和分析,有了這個利器,我們可以輕鬆應對上述場景,實現關鍵字 ...
  • 一、簡介 一個for迴圈是一個允許所編寫一個執行特定次數的迴圈的重覆控制結構。 二、語法 for (表達式1; 表達式2; 表達式3) { 迴圈體; } 下麵是 for 迴圈的控制流: 表達式1會首先被執行,且只會執行一次。這一步允許您聲明並初始化任何迴圈控制變數。您也可以不在這裡寫任何語句,只要有 ...
  • 場景 Winform控制項-DevExpress18下載安裝註冊以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243 在上面已經實現DevExpress的安裝之後,拖拽一個TreeList,然後怎樣給 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...