日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

简单测试.NET开源的PDF文档生成器QuestPDF

發布時間:2023/12/10 asp.net 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单测试.NET开源的PDF文档生成器QuestPDF 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??QuestPDF是一款.NET開源的PDF文檔生成器。在微信公眾號上看到關于QuestPDF的文章,本文結合參考文獻,對該包進行簡單測試。
??QuestPDF提供布局引擎,具備全面的分頁功能。QuestPDF中的文檔由眾多簡單元素構成(如邊框、背景、圖像、文本、邊距、表格、網格等),能夠構造復雜的文檔結構。開發人員可以快速了解每類簡單元素的用法,并能放心大膽地使用它們。此外,QuestPDF中的文檔及其所有元素都支持分頁功能。例如,一個元素可以移動到下一頁(如果沒有足夠的空間),甚至可以在表的行之間分割。
??本文先基于QuestPDF幫助文檔中的示例進行簡單測試,后續會逐步深入學習該包的用法。
??創建Winform程序,并通過NuGet包管理器安裝QuestPDF包,如下圖所示:


??基于參考文獻2中給出的包含頁眉、內容和頁腳的示例,創建簡單的界面,生成包含文本和圖片的單頁PDF文件(參考文獻2中的示例中生成內容是寫死的,本文示例的改動主要是能在窗口中輸入內容和選擇圖片),示例代碼和界面如下所示:

Document.Create(container =>{container.Page(page =>{page.Size(PageSizes.A4);page.Margin(2, Unit.Centimetre);page.Background(Colors.White);page.DefaultTextStyle(x => x.FontSize(20));page.Header().Text("QuestPDF測試").SemiBold().FontSize(36).FontColor(Colors.Blue.Medium);page.Content().PaddingVertical(1, Unit.Centimetre).Column(x =>{x.Spacing(20);x.Item().Text(textBox1.Text);x.Item().Image(pictureBox1.Tag as string, ImageScaling.Resize);});page.Footer().AlignCenter().Text(x =>{x.Span("頁碼 ");x.CurrentPageNumber();});});}).GeneratePdf("test.pdf");


??程序運行結果如下所示,可以正常生成PDF文檔,但是頁眉和頁腳中的中文沒有正常顯示。

??查看代碼中設置文本字體的代碼,發現只設置了字體大小和顏色,字體采用的默認字體。QuestPDF設置字體是用FontFamily名稱設置的,于是修改代碼,采用宋體顯示文本內容。不過程序運行過程中卻報找不到宋體文件的錯誤,如下圖所示:

page.Header().Text("QuestPDF測試").SemiBold().FontFamily("宋體").FontSize(36).FontColor(Colors.Blue.Medium);


??仔細查看參考文獻3中包含中文字體的示例代碼,發現其設置黑體時使用的FontFamily名稱是simhei,百度后才知道該名稱是黑體字體對應的ttf文件名。于是到windows\Fonts文件夾下找到宋體的字體文件名,如下所示:

??重新設置代碼中的FontFamily名,在運行程序,即可生成顯示正常的pdf文檔,如下圖所示:

page.Header().Text("QuestPDF測試").SemiBold().FontFamily("simsun").FontSize(36).FontColor(Colors.Blue.Medium);


??本文只是結合參考文獻中的示例代碼,對QuestPDF功能進行了簡單測試,后續還會繼續深入學習QuestPDF包的用法

參考文獻:
[1]https://github.com/QuestPDF/QuestPDF
[2]https://www.questpdf.com/getting-started.html
[3]https://blog.csdn.net/sd7o95o/article/details/125985863

總結

以上是生活随笔為你收集整理的简单测试.NET开源的PDF文档生成器QuestPDF的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。