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的內容儲存為如下:
演示效果:
相關文章
- Ruby Ruport實踐—中文PDF報表之FPDF
- Ruby Ruport實踐—報表引數實現
- Ruby Ruport實踐—報表引數實現(二)
- RUBY實踐—Ruby Report之Ruport簡單應用
- Ruby Ruport實踐—Ruport::Formatter應用擴充套件ORM套件
- RUBY RUPORT實踐—Ruport::Controller及Template應用Controller
- Ruby On Rails實踐—中文亂碼問題AI
- Ruby實踐—連線MysqlMySql
- RUBY-FLEX實踐—利用swfobject在RUBY工程中載入SWFFlexObject
- RUBY實踐—資料庫簡單操作資料庫
- 實踐指南-網頁生成PDF網頁
- Ruby實踐—will_paginate實現分頁
- PDF Expert 2.5.16 中文版-實用的 PDF 文件工具
- 在純JaveScript中實現報表匯出:從“PDF”到“JPG”
- 水晶報表中文資料
- pdf編輯工具 PDF Expert中文
- 用ruby實現簡體中文和繁體中文的相互轉化
- 【ApiDoc】自動化匯出介面文件之HTML/Markdown/PDF實踐APIHTML
- PDF Expert for mac(pdf編輯工具) 中文Mac
- 使用jfreechart和itext實現匯出報表和表格到pdf文件
- 【Vue 實踐】頁面生成 pdf 檔案-01Vue
- rails on ruby,ruby on rails 之程式碼塊(二)AI
- Ruby Profiler詳解之ruby-prof(I)
- 複雜報表設計之動態報表
- 分享《TensorFlow實戰》中文版PDF+原始碼原始碼
- Golang 高效實踐之併發實踐Golang
- RUBY-FLEX實踐—利用swfobject實現Rails與Flex傳遞引數FlexObjectAI
- 皕傑報表之填報操作
- Electron 的 GUI 和 Ruby 的 CLI 的一種互動實踐GUI
- RUBY實踐—帶密碼加密的使用者建立及修改密碼加密
- Ruby 札記 - Ruby 集合家族之陣列(Array)陣列
- Ruby程式語言與Ruby之間的比較
- PostgreSQLOracle相容性之-PartitionByOuterJoin實現稠化報表SQLOracle
- Golang 高效實踐之defer、panic、recover實踐Golang
- 分欄報表-物品清單報表實現
- Ruby----RMagick安裝報錯
- vue實踐之vuexVue
- docker之Dockerfile實踐Docker