Ruby Ruport實踐—中文PDF報表之FPDF
Ruport中pdf_writer對中文的支援並不好,輸出的中文顯示的是亂碼。上網查了很多資料,也沒有找到好的解決方案,無奈只好檢視原始碼,到底為什麼Ruport自帶的PDF工具不支援中文輸出。
Ruport::Formatter::PDF::Writer中找到以下程式碼
metrics = load_font_metrics(font)
metrics = PDF::Writer::FontMetrics.open(font)
PDF::Writer::FontMetrics::METRICS_PATH = [ File.join(File.dirname(File.expand_path(__FILE__)), 'fonts') ]
原來METRICS_PATH=%RUBY_HOME%/lib/ruby/gems/1.8/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts
在此路徑下存在的afm字型檔案均不支援中文,於是開始將目標轉向新增一個支援中文的 *.afm字型檔案。無奈檔案找到了,放到該路徑下,執行竟報錯了(也許是PDF_WRITER不支援該檔案)
放棄了此方法,把目標轉向FPDF
1)下載fpdf http://download.csdn.net/source/5608
2)解壓到Rails專案的lib下
3)按Ruby Roport實踐—簡單報表系統完成Ruport應用
4)接下來,修改ReportOutputController.rb
將 class Ruport::Formatter::PDF修改為如下內容
5)修改資料表report_templates中template_content內容為
報表效果:
相關文章
- Ruby Ruport實踐—中文PDF報表之PRAWN
- 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”
- 用ruby實現簡體中文和繁體中文的相互轉化
- pdf編輯工具 PDF Expert中文
- 【ApiDoc】自動化匯出介面文件之HTML/Markdown/PDF實踐APIHTML
- PDF Expert for mac(pdf編輯工具) 中文Mac
- 使用jfreechart和itext實現匯出報表和表格到pdf文件
- rails on ruby,ruby on rails 之程式碼塊(二)AI
- Ruby Profiler詳解之ruby-prof(I)
- 【Vue 實踐】頁面生成 pdf 檔案-01Vue
- 複雜報表設計之動態報表
- Golang 高效實踐之併發實踐Golang
- 分享《TensorFlow實戰》中文版PDF+原始碼原始碼
- RUBY-FLEX實踐—利用swfobject實現Rails與Flex傳遞引數FlexObjectAI
- 皕傑報表之填報操作
- Electron 的 GUI 和 Ruby 的 CLI 的一種互動實踐GUI
- RUBY實踐—帶密碼加密的使用者建立及修改密碼加密
- Ruby 札記 - Ruby 集合家族之陣列(Array)陣列
- Ruby程式語言與Ruby之間的比較
- Golang 高效實踐之defer、panic、recover實踐Golang
- PostgreSQLOracle相容性之-PartitionByOuterJoin實現稠化報表SQLOracle
- lumen/laravel 生成pdf中文亂碼Laravel
- vue實踐之vuexVue
- docker之Dockerfile實踐Docker
- Ruby----RMagick安裝報錯