OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/vendor/plugins/rfpdf
Jean-Philippe Lang 6a875eb691 fix for #8973: Export feature(to csv/pdf) doesn't work in Japanese 18 years ago
..
lib fix for #8973: Export feature(to csv/pdf) doesn't work in Japanese 18 years ago
test trunk moved from /trunk/redmine to /trunk 18 years ago
CHANGELOG trunk moved from /trunk/redmine to /trunk 18 years ago
MIT-LICENSE trunk moved from /trunk/redmine to /trunk 18 years ago
README trunk moved from /trunk/redmine to /trunk 18 years ago
init.rb trunk moved from /trunk/redmine to /trunk 18 years ago

README

= RFPDF Template Plugin

A template plugin allowing the inclusion of ERB-enabled RFPDF template files.

== Example .rb method Usage

In the controller, something like:

def mypdf
pdf = FPDF.new()

#
# Chinese
#
pdf.extend(PDF_Chinese)
pdf.AddPage
pdf.AddBig5Font
pdf.SetFont('Big5','',18)
pdf.Write(5, '²{®É®ð·Å 18 C Àã«× 83 %')
icBig5 = Iconv.new('Big5', 'UTF-8')
pdf.Write(15, icBig5.iconv("宋体 should be working"))
send_data pdf.Output, :filename => "something.pdf", :type => "application/pdf"
end

== Example .rfdf Usage

In the controller, something like:

def mypdf
@options_for_rfpdf ||= {}
@options_for_rfpdf[:file_name] = "nice_looking.pdf"
end

In the layout (make sure this is the only item in the layout):
<%= @content_for_layout %>

In the view (mypdf.rfpdf):

<%
pdf = FPDF.new()
#
# Chinese
#
pdf.extend(PDF_Chinese)
pdf.AddPage
pdf.AddBig5Font
pdf.SetFont('Big5','',18)
pdf.Write(5, '²{®É®ð·Å 18 C Àã«× 83 %')
icBig5 = Iconv.new('Big5', 'UTF-8')
pdf.Write(15, icBig5.iconv("宋体 should be working"))

#
# Japanese
#
pdf.extend(PDF_Japanese)
pdf.AddSJISFont();
pdf.AddPage();
pdf.SetFont('SJIS','',18);
pdf.Write(5,'9ÉñåéÇÃåˆäJÉeÉXÉgÇ<span class="escaped-code-point" data-escaped="[U+F8FF]"><span class="char"></span></span>åoǃPHP 3.0ÇÕ1998îN6åéÇ…åˆéÆÇ…ÉäÉäÅ[ÉXÇ≥ÇÍNjǵÇΩÅB');
icSJIS = Iconv.new('SJIS', 'UTF-8')
pdf.Write(15, icSJIS.iconv("これはテキストである should be working"))

#
# Korean
#
pdf.extend(PDF_Korean)
pdf.AddUHCFont();
pdf.AddPage();
pdf.SetFont('UHC','',18);
pdf.Write(5,'PHP 3.0Àº 1998³â 6¿ù¿¡ °ø½ÄÀûÀ¸·Î ¸±¸®ÁîµÇ¾ú´Ù. °ø°³ÀûÀÎ Å×½ºÆ® ÀÌÈľà 9°³¿ù¸¸À̾ú´Ù.');
icUHC = Iconv.new('UHC', 'UTF-8')
pdf.Write(15, icUHC.iconv("이것은 원본 이다"))

#
# English
#
pdf.AddPage();
pdf.SetFont('Arial', '', 10)
pdf.Write(5, "should be working")
%>
<%= pdf.Output() %>


== Configuring

You can configure Rfpdf by using an @options_for_rfpdf hash in your controllers.

Here are a few options:

:filename (default: action_name.pdf)
Filename of PDF to generate

Note: If you're using the same settings for @options_for_rfpdf often, you might want to
put your assignment in a before_filter (perhaps overriding :filename, etc in your actions).

== Problems

Layouts and partials are currently not supported; just need
to wrap the PDF generation differently.