Ruby Ruport實踐—中文PDF報表之PRAWN
FPDF能支援PDF的中文列印,然而卻存在不少的不如意之處,據我目前的使用,總結出幾點:
1)FPDF提供的Pdf_Chinese字型,將GB這種字型寫入了程式碼中,若我們希望引入其他的中文字型,則不能方便地使用
2)FPDF輸出的數字並不美觀,不如Ruport::Formatter::PDF自帶的字型
3)FPDF提供的方法並不多,對於一般的報表列印,用的最多的也許是 Cell方法,但如果連一個普通的報表列印都需要能過程式碼控制換行、畫直線、寫單元格,那就太不方便了
Prawn也是呼聲叫高的一種Ruby PDF報表工具,對於它和 FPDF 到底誰更優秀,這就要因人而異了,FPDF是用PHP編寫的PDF庫的移植,而PRAWN則不是 Prawn:使用Ruby生成PDF更簡捷 中有簡單的介紹
下面來看看PRAWN是如何實現PDF的列印的(基本的實現參考 Ruby Ruport實踐—簡單報表系統)
一、安裝Prawn
gem install prawn
二、修改enviroment.rb
新增如下引用:
三、引入合適的中文字型
Prawn支援外部引入中文字型,例如“楷體”
從C:/Windows/Fonts下將本機支援的字型檔案(*.ttf)複製到
%RUBY_HOME%/lib/ruby/gems/1.8/gems/prawn-core-0.8.4/data/fonts
在程式碼中通過
@pdf_writer.font"#{::Prawn::BASEDIR}/data/fonts/simkai.ttf"
指定需要引用的字型
四、修改ReportOutputController.rb
替換Pdf<Ruport::Formatter::PDF為如下程式碼:
五、儲存repoert_templates
對於template_content的內容儲存為如下:
演示效果:
相關文章
- PDF Expert 2.5.16 中文版-實用的 PDF 文件工具
- 實踐指南-網頁生成PDF網頁
- rails on ruby,ruby on rails 之程式碼塊(二)AI
- pdf編輯工具 PDF Expert中文
- 在純JaveScript中實現報表匯出:從“PDF”到“JPG”
- PDF Expert for mac(pdf編輯工具) 中文Mac
- Ruby 札記 - Ruby 集合家族之雜湊(Hash)
- Ruby 札記 - Ruby 集合家族之陣列(Array)陣列
- Electron 的 GUI 和 Ruby 的 CLI 的一種互動實踐GUI
- 分享《TensorFlow實戰》中文版PDF+原始碼原始碼
- 【Vue 實踐】頁面生成 pdf 檔案-01Vue
- Ruby Profiler 詳解之 stackprof
- Golang 高效實踐之併發實踐Golang
- Golang高效實踐之interface、reflection、json實踐GolangJSON
- Golang 高效實踐之defer、panic、recover實踐Golang
- 複雜報表設計之動態報表
- vue實踐之vuexVue
- PDF處理工具:ABBYY FineReader PDF 15 for Mac 中文版Mac
- Golang 高效實踐之併發實踐context篇GolangContext
- C++Primer 中文版pdfC++
- lumen/laravel 生成pdf中文亂碼Laravel
- 皕傑報表之填報操作
- [Ruby]format xml with RubyORMXML
- MaxCompute表設計最佳實踐
- Hash表實踐 —— 兩數之和
- JetBrains RubyMine 2022for Mac(Ruby程式碼編輯器)中文AIMac
- 微控制器C語言程式設計實踐pdfC語言程式設計
- Hadoop實踐之Python(一)HadoopPython
- NodeJs 實踐之他說NodeJS
- vue實踐04之vuexVue
- kubernetes實踐之十一:EFK
- Head first PHP & MySQL 中文版pdfPHPMySql
- JasperReport+iReport匯出pdf中文失效
- 必備的PDF閱讀器:PDF Reader Pro Mac中文版Mac
- 《解析卷積神經網路—深度學習實踐手冊.pdf》PDF高清完整版pdf-免費下載卷積神經網路深度學習
- 3.1 MYSQL分庫分表實踐MySql
- Drools決策表實踐運用
- sharding-jdbc5.0.0分表實踐JDBC
- 【TABLESPACE】Oracle表空間最佳實踐Oracle