`
shangjava
  • 浏览: 1238716 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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内容为

报表效果:

分享到:
评论

相关推荐

    易语言FPDF支持库源码(PDF.fne)

    在实际应用中,易语言FPDF支持库广泛应用于电子报表、发票、证书等场合,通过自动化程序生成高质量的PDF文档,提高了工作效率。如果你是易语言的使用者,掌握FPDF库的使用无疑会提升你的编程能力,让你能够更好地...

    FPDF,php生成PDF

    FPDF是一个PHP类,它允许纯PHP生成PDF文件,也就是说没有使用PDFlib库。FPDF中的F意味着自由:你可以使用它的任何一种使用和修改它以适合你的需要。 FPDF还有其它优点:高水平的功能。这里是一个列表,它的主要特点...

    pdf 教程 fPdf中文补丁

    PDF教程:FPdf中文补丁详解 在信息技术领域,PDF(Portable Document Format)是一种广泛用于文档交换的标准格式,因其跨平台、保持原文档格式的特点而备受青睐。然而,当需要在PHP环境中动态生成PDF文件时,FPdf便...

    php 真正可以支持中文 Fpdf类包 微软雅黑 黑体

    为了在PDF中显示中文,我们需要引入能够识别和渲染中文字符的字体文件,并将其与Fpdf结合。这里的关键步骤包括: 1. **获取中文字体文件**:通常,我们使用TrueType字体(.ttf)文件,如微软雅黑和黑体。这些字体...

    html2fpdf 中文支持

    html2fpdf 或 html2pdf 是在fpdf上开发的一个可以将html页面转换为pdf文件的PHP类。 官方网址 http://sourceforge.net/projects/html2fpdf/ 近日,由于开发项目需要,需要一个能将页面转换为pdf的插件,以供客户端...

    FPDF: PDF生成器

    FPDF,全称为“Free PDF Document Generator”,是一个用于在服务器端生成PDF文档的PHP库。这个库的独特之处在于它完全由PHP编写,不需要任何外部依赖...通过深入理解和实践,你可以轻松创建出满足各种需求的PDF文档。

    php生成PDF FPDF

    3. **简单易用**: FPDF的API设计简洁,开发者可以通过几行代码就能生成PDF文档。 4. **高效**: 由于其轻量级的特性,FPDF在处理大量数据时仍能保持较快的性能。 在使用FPDF时,你需要了解以下几个关键概念: **...

    1.PHP使用插件fpdf fpdi 给PDF文件加水印(中文乱码)

    本文将详细讲解如何利用这两个插件为PDF文件添加水印,尤其是解决中文乱码的问题。 首先,fpdf是一个开源的PHP类库,它允许我们在服务器端生成PDF文件。fpdf提供了丰富的API,可以方便地创建、编辑和打印PDF文档。...

    PHP的FPDF的中文包chinese.php

    使用`chinese.php`可以轻松地在FPDF生成的PDF中包含中文内容,这对于创建多语言的PDF文档尤其有用,例如报表、证书、合同等。 总的来说,`chinese.php`是FPDF的一个关键组件,它使得在PHP环境中处理中文PDF变得更加...

    fpdf(php生成pdf)

    - 创建 FPDF 实例:`$pdf = new FPDF();` - 设置页面方向(默认为 portrait,也可以设置为 landscape):`$pdf->SetOrientation('landscape');` 2. **添加页面**: - 添加新的页面:`$pdf->AddPage();` - 可以...

    PHP生成带中文的PDF文件 FPDF

    FPDF是一个流行的PHP库,它允许开发者在服务器端生成PDF文件,而且支持包括中文在内的多国语言。本文将深入探讨如何使用FPDF库在PHP中生成带有中文的PDF文件。 首先,FPDF库本身并不直接支持中文字符集,因此我们...

    fpdf在php环境下生成中文pdf

    本篇文章将详细探讨如何在PHP环境下利用`fpdf`库生成包含中文的PDF文件,并介绍与之相关的`addfont`功能。 `fpdf`库的核心功能是创建PDF文档,它允许开发者通过编程方式添加文本、图像、表格等元素。对于中文支持,...

    Fpdf1.7官方最新版

    此外,由于"中文化补丁"的存在,FPDF可以处理中文字符,支持简体和繁体中文的显示,这对于面向中文用户的项目尤其重要。 3. **文本操作**:可以设置文本样式,如字体、大小、颜色、对齐方式等,以及在PDF中插入文本...

    生成PDF的PHP类:FPDF1.7和中文

    在早期的FPDF版本中,由于PDF编码的限制,直接处理中文字符可能会遇到问题。为了解决这个问题,开发人员通常需要扩展FPDF,添加对UTF-8或其他多语言编码的支持。在FPDF1.7中,可能已经内置了这样的类或函数,使得...

    php用fpdf插件生成PDF带完整实例.zip

    在IT行业中,生成PDF文档是常见的需求,尤其在报表、发票、证书等场合。PHP作为广泛应用的服务器端脚本语言,提供了多种库来实现这一功能,FPDF就是其中之一。FPDF是一个纯PHP类库,允许在服务器端生成PDF文档而无需...

    Fpdf16生成PDF中文说明文档(翻译)

    **Fpdf16生成PDF中文说明文档** **一、Fpdf16简介** Fpdf16是一个基于PHP的开源库,专门用于生成PDF文件。它允许开发者在服务器端创建PDF文档,无需安装任何桌面应用程序。这个库的核心在于,它完全用PHP编写,使得...

    C++实现将PDF转为BMP(PDFiumSDK)

    FPDF_DOCUMENT pdf_doc = FPDF_LoadDocument(pdfPath, NULL); 2、获取PDF文件页数 int pageCount = FPDF_GetPageCount(pdf_doc); 3、对每页的处理 for (int pageIndex = 0; pageIndex ; pageIndex++) { //加载页面 ...

    fpdf中文版本带中文帮助文档

    "fpdf中文版本带中文帮助文档" 提供了FPDF库的中文语言支持和相关的中文文档,使得中文用户在使用过程中能更好地理解和应用这个工具。 FPDF的核心功能包括: 1. 页面管理:FPDF允许开发者创建新的PDF页面,并控制...

    fpdf真正支持中文加中文文档

    标题提到“fpdf真正支持中文加中文文档”,这意味着 FPDF 已经解决了在 PDF 文件中正确显示中文字符的问题,包括简体和繁体。 在 PHP 开发中,生成包含中文字符的 PDF 文件通常是个挑战,因为 PDF 格式需要特定的...

    FPDF中文说明---FPDF

    FPDF中文说明,FPDF中文说明,FPDF中文说明,

Global site tag (gtag.js) - Google Analytics