Aspose.Words for .NET使用表格教程之在表格中設(shè)置自動(dòng)調(diào)整設(shè)置
推薦閱讀:【Aspose.Words for .NET使用表格教程之應(yīng)用格式——將格式應(yīng)用于表,行和單元格】
Aspose.Words For .Net是一種高級(jí)Word文檔處理API,用于執(zhí)行各種文檔管理和操作任務(wù)。API支持生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印文檔,而無(wú)需在跨平臺(tái)應(yīng)用程序中直接使用Microsoft Word。此外,API支持所有流行的Word處理文件格式,并允許將Word文檔導(dǎo)出或轉(zhuǎn)換為固定布局文件格式和最常用的圖像/多媒體格式。
接下來(lái)我們將進(jìn)入“使用格式”的介紹,其中包括應(yīng)用格式、介紹和創(chuàng)建表、添加和拆分表以及使用列和行。本文將為大家講解如何在表格中運(yùn)用自動(dòng)調(diào)整設(shè)置。
>>Aspose.Words for .NET更新至最新版v19.9,歡迎下載體驗(yàn)
使用可視代理(例如Microsoft Word)創(chuàng)建表時(shí),通常會(huì)發(fā)現(xiàn)使用AutoFit選項(xiàng)之一自動(dòng)將表調(diào)整為所需的寬度。例如,可以使用“自動(dòng)適應(yīng)窗口”選項(xiàng)使表格適合頁(yè)面的寬度,使用“自動(dòng)適應(yīng)目錄”選項(xiàng)允許每個(gè)單元格增加或縮小以容納其內(nèi)容。
默認(rèn)情況下,Aspose.Words使用“ 自動(dòng)調(diào)整到窗口”插入一個(gè)新表。該表格將調(diào)整為頁(yè)面上的可用寬度。若要更改此類表或現(xiàn)有表的大小調(diào)整行為,可以調(diào)用Table.AutoFit方法。
自動(dòng)將表格擬合到窗口
下面的示例自動(dòng)調(diào)整表格以適合頁(yè)面寬度。
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir_WorkingWithTables(); string fileName = "TestFile.doc"; //打開文檔 Document doc = new Document(dataDir + fileName); Table table = (Table)doc.GetChild(NodeType.Table, 0, true); //將第一個(gè)表格自動(dòng)調(diào)整為頁(yè)面寬度。 table.AutoFit(AutoFitBehavior.AutoFitToWindow); dataDir = dataDir + RunExamples.GetOutputFilePath(fileName); //將文檔保存到磁盤。 doc.Save(dataDir); Debug.Assert(doc.FirstSection.Body.Tables[0].PreferredWidth.Type == PreferredWidthType.Percent, "PreferredWidth type is not percent"); Debug.Assert(doc.FirstSection.Body.Tables[0].PreferredWidth.Value == 100, "PreferredWidth value is different than 100");
當(dāng)將對(duì)窗口的自動(dòng)調(diào)整應(yīng)用于表時(shí),實(shí)際上是在后臺(tái)執(zhí)行以下操作:
- 啟用Table.AllowAutoFit屬性可自動(dòng)將列的大小調(diào)整為可用內(nèi)容。
- Table.PreferredWidth值為100%。
- 從表中的所有單元格中刪除了CellFormat.PreferredWidth。
- 將針對(duì)表的當(dāng)前內(nèi)容重新計(jì)算列寬。
自動(dòng)將表格擬合到目錄
下面的示例將文檔中的表格自動(dòng)調(diào)整為其內(nèi)容。
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir_WorkingWithTables(); string fileName = "TestFile.doc"; Document doc = new Document(dataDir + fileName); Table table = (Table)doc.GetChild(NodeType.Table, 0, true); //自動(dòng)使表格適合單元格內(nèi)容 table.AutoFit(AutoFitBehavior.AutoFitToContents); dataDir = dataDir + RunExamples.GetOutputFilePath(fileName); // 將文檔保存到磁盤。 doc.Save(dataDir); Debug.Assert(doc.FirstSection.Body.Tables[0].PreferredWidth.Type == PreferredWidthType.Auto, "PreferredWidth type is not auto"); Debug.Assert(doc.FirstSection.Body.Tables[0].FirstRow.FirstCell.CellFormat.PreferredWidth.Type == PreferredWidthType.Auto, "PrefferedWidth on cell is not auto"); Debug.Assert(doc.FirstSection.Body.Tables[0].FirstRow.FirstCell.CellFormat.PreferredWidth.Value == 0, "PreferredWidth value is not 0");
在表上禁用自動(dòng)調(diào)整并使用固定的列寬
下面的示例禁用自動(dòng)擬合并為指定的表格啟用固定寬度。
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir_WorkingWithTables(); string fileName = "TestFile.doc"; Document doc = new Document(dataDir + fileName); Table table = (Table)doc.GetChild(NodeType.Table, 0, true); //在此表上禁用自動(dòng)擬合。 table.AutoFit(AutoFitBehavior.FixedColumnWidths); dataDir = dataDir + RunExamples.GetOutputFilePath(fileName); //將文檔保存到磁盤。 doc.Save(dataDir); //結(jié)束 Debug.Assert(doc.FirstSection.Body.Tables[0].PreferredWidth.Type == PreferredWidthType.Auto, "PreferredWidth type is not auto"); Debug.Assert(doc.FirstSection.Body.Tables[0].PreferredWidth.Value == 0, "PreferredWidth value is not 0"); Debug.Assert(doc.FirstSection.Body.Tables[0].FirstRow.FirstCell.CellFormat.Width == 69.2, "Cell width is not correct.");
*想要購(gòu)買Aspose正版授權(quán)的朋友可以聯(lián)系慧都客服哦~
ASPOSE技術(shù)交流QQ群已開通,各類資源及時(shí)分享,歡迎交流討論!(掃描下方二維碼加入群聊)