日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Aspose.Word 的常见使用(不用模板创建)

發(fā)布時間:2023/12/18 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Aspose.Word 的常见使用(不用模板创建) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

起因

因項目需要,而且使用html轉(zhuǎn)Word的時候,樣式不兼容問題,于是只能使用Aspose.Word通過代碼生成。下面是通過DocumentBuilder來設(shè)計Word的,但是和使用模型拼接的差不多,原理基本一致。

思路

這里是說使用Aspose.Word的使用思路,只想某個功能是怎么使用的可以跳過
代碼都是人寫的,所以每一個代碼都有他的風格,了解這些代碼作者的思路有利于我們?nèi)ナ褂盟?br /> 簡單使用Word,無非就是文字,圖片,表格以及頁面的樣式。如果了解Css和英語好點的基本都是可以在VS里面點出來的,最難的就是最開始的入門的。

入門,簡單的示例

Aspose.Words.Document doc = new Document();//新建一個空白的文檔 Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc); doc.Save("文件保存的全路徑"); 這里面的`builder`相當于一個畫筆,提前給他規(guī)定樣式,然后他就能根據(jù)你的要求畫出你想畫的Word。這里的畫筆使用的是就近原則,當上面沒有定義了builder的時候,會使用默認的格式,當上面定義了某個格式的時候,使用最近的一個(即最后一個改變的樣式)

設(shè)定Word頁面的樣式

builder.PageSetup.PaperSize = PaperSize.A4;//A4紙 builder.PageSetup.Orientation = Aspose.Words.Orientation.Portrait;//方向 builder.PageSetup.VerticalAlignment = Aspose.Words.PageVerticalAlignment.Top;//垂直對準 builder.PageSetup.LeftMargin = 42;//頁面左邊距 builder.PageSetup.RightMargin = 42;//頁面右邊距

關(guān)于頁面的設(shè)置,基本都在PageSetup中,根據(jù)需要和正常的名字,基本都可以猜出來

寫入一段文字

//獲取ParagraphFormat對象,關(guān)于行的樣式基本都在這里 var ph = builder.ParagraphFormat; //文字對齊方式 ph.Alignment = ParagraphAlignment.Center; // 單倍行距 = 12 , 1.5 倍 = 18 ph.LineSpacing = 12;//獲取Font對象,關(guān)于文字的大小,顏色,字體等等基本都在這個里面 Aspose.Words.Font font = builder.Font; //字體大小 font.Size = 22; //是否粗體 font.Bold = false; //下劃線樣式,None為無下劃線 font.Underline = Underline.None; //字體顏色 font.Color = Color.Black;//C#的顏色 font.Color = System.Drawing.ColorTranslator.FromHtml("#3b3131");//自定義顏色 //設(shè)置字體 font.NameFarEast = "宋體"; //添加文字 builder.Write("添加的文字"); //添加回車 builder.Writeln(); //添加文字后回車 builder.Writeln("添加的文字后回車");

基本使用到的就是這幾個了,如果需要更多可以自己在VS里面點后試試看。

注意:`builder`在`Write`的時候,默認會使用上面規(guī)定的格式,除非你在使用`Write`前更新畫筆的格式,所以,當你在做樣式很多的Word的時候注意更改畫筆的格式。

添加圖片

builder.InsertImage("圖片絕對地址"); builder.InsertImage("圖片絕對地址", 80, 80);//可以控制圖片的寬高

基本是這樣使用,當然還有是其他很多種的參數(shù),比如Image或Stream等,在使用的時候可以根據(jù)需要使用

添加表格

//開始添加表格 Aspose.Words.Tables.Table table = builder.StartTable(); //開始添加第一行,并設(shè)置表格行高 RowFormat rowf = builder.RowFormat; rowf.Height = 40; // ....這里rowf可以有很多的設(shè)置 //插入一個單元格 builder.InsertCell(); //設(shè)置單元格是否水平合并,None為不合并 builder.CellFormat.HorizontalMerge = CellMerge.None; //設(shè)置單元格是否垂直合并,None為不合并 builder.CellFormat.VerticalMerge = CellMerge.None; //設(shè)置單元格寬 builder.CellFormat.Width = 40; //單元格垂直對齊方向 builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center; //單元格水平對齊方向 builder.ParagraphFormat.Alignment = ParagraphAlignment.Left; builder.CellFormat.FitText = true;//單元格內(nèi)文字設(shè)為多行(默認為單行,會影響單元格寬) //單元格內(nèi)添加文字 builder.Write("這是第一行第一個單元格"); builder.InsertCell(); builder.CellFormat.Width = -1;//當不需要規(guī)定這個單元格的寬度的時候,設(shè)置成-1,會是自動寬度 builder.Write("這是第一行第二個單元格"); //結(jié)束第一行 builder.EndRow(); //結(jié)束表格 builder.EndTable(); //設(shè)置這個表格的上下左右,內(nèi)部水平,垂直的線為白色(當背景為白色的時候就相當于隱藏邊框了) table.SetBorder(BorderType.Left, LineStyle.Double, 1, Color.White, false); table.SetBorder(BorderType.Top, LineStyle.Double, 1, Color.White, false); table.SetBorder(BorderType.Right, LineStyle.Double, 1, Color.White, false); table.SetBorder(BorderType.Bottom, LineStyle.Double, 1, Color.White, false); table.SetBorder(BorderType.Vertical, LineStyle.Double, 1, Color.White, false); 注意:最重要的是不用忘記開始表格,開始一行,結(jié)束一行,結(jié)束表格 里面的設(shè)置可以根據(jù)個人需要修改,也可以不寫使用默認的

表格的合并單元格

//橫向合并單元格 builder.CellFormat.HorizontalMerge = CellMerge.None; builder.CellFormat.HorizontalMerge = CellMerge.First; builder.CellFormat.HorizontalMerge = CellMerge.Previous; //縱向合并單元格 builder.CellFormat.VerticalMerge = CellMerge.None; builder.CellFormat.VerticalMerge = CellMerge.First; builder.CellFormat.VerticalMerge = CellMerge.Previous; 備注:當不需要合并單元格的時候設(shè)置為 None,當需要合并單元格的時候,第一個設(shè)置為First,并正常寫入這個單元格應(yīng)該存儲的內(nèi)容。后面的到了要和這個單元格合并的單元格的時候,不需要寫入內(nèi)容,只需要設(shè)置成Previous即可。

總結(jié)

以上是生活随笔為你收集整理的Aspose.Word 的常见使用(不用模板创建)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。