简单测试.NET开源的PDF文档生成器QuestPDF
??QuestPDF是一款.NET開源的PDF文檔生成器。在微信公眾號上看到關(guān)于QuestPDF的文章,本文結(jié)合參考文獻,對該包進行簡單測試。
??QuestPDF提供布局引擎,具備全面的分頁功能。QuestPDF中的文檔由眾多簡單元素構(gòu)成(如邊框、背景、圖像、文本、邊距、表格、網(wǎng)格等),能夠構(gòu)造復(fù)雜的文檔結(jié)構(gòu)。開發(fā)人員可以快速了解每類簡單元素的用法,并能放心大膽地使用它們。此外,QuestPDF中的文檔及其所有元素都支持分頁功能。例如,一個元素可以移動到下一頁(如果沒有足夠的空間),甚至可以在表的行之間分割。
??本文先基于QuestPDF幫助文檔中的示例進行簡單測試,后續(xù)會逐步深入學(xué)習(xí)該包的用法。
??創(chuàng)建Winform程序,并通過NuGet包管理器安裝QuestPDF包,如下圖所示:
??基于參考文獻2中給出的包含頁眉、內(nèi)容和頁腳的示例,創(chuàng)建簡單的界面,生成包含文本和圖片的單頁PDF文件(參考文獻2中的示例中生成內(nèi)容是寫死的,本文示例的改動主要是能在窗口中輸入內(nèi)容和選擇圖片),示例代碼和界面如下所示:
??程序運行結(jié)果如下所示,可以正常生成PDF文檔,但是頁眉和頁腳中的中文沒有正常顯示。
??查看代碼中設(shè)置文本字體的代碼,發(fā)現(xiàn)只設(shè)置了字體大小和顏色,字體采用的默認字體。QuestPDF設(shè)置字體是用FontFamily名稱設(shè)置的,于是修改代碼,采用宋體顯示文本內(nèi)容。不過程序運行過程中卻報找不到宋體文件的錯誤,如下圖所示:
??仔細查看參考文獻3中包含中文字體的示例代碼,發(fā)現(xiàn)其設(shè)置黑體時使用的FontFamily名稱是simhei,百度后才知道該名稱是黑體字體對應(yīng)的ttf文件名。于是到windows\Fonts文件夾下找到宋體的字體文件名,如下所示:
??重新設(shè)置代碼中的FontFamily名,在運行程序,即可生成顯示正常的pdf文檔,如下圖所示:
??本文只是結(jié)合參考文獻中的示例代碼,對QuestPDF功能進行了簡單測試,后續(xù)還會繼續(xù)深入學(xué)習(xí)QuestPDF包的用法
參考文獻:
[1]https://github.com/QuestPDF/QuestPDF
[2]https://www.questpdf.com/getting-started.html
[3]https://blog.csdn.net/sd7o95o/article/details/125985863
總結(jié)
以上是生活随笔為你收集整理的简单测试.NET开源的PDF文档生成器QuestPDF的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一步一步学Remoting系列文章
- 下一篇: 和不安全的Android说再见,Goog