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需求的可在評論區留言哦~