diff vendor/plugins/rfpdf/test_unicode.rfpdf @ 441:cbce1fd3b1b7 redmine-1.2

Update to Redmine 1.2-stable branch (Redmine SVN rev 6000)
author Chris Cannam
date Mon, 06 Jun 2011 14:24:13 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/plugins/rfpdf/test_unicode.rfpdf	Mon Jun 06 14:24:13 2011 +0100
@@ -0,0 +1,115 @@
+<%
+  doc_title = "test title";
+  doc_subject = "test description";
+  doc_keywords = "test keywords";
+  htmlcontent = "&lt; € &euro; &#8364; &amp; è &egrave; &copy; &gt;<br /><h1>heading 1</h1><h2>heading 2</h2><h3>heading 3</h3><h4>heading 4</h4><h5>heading 5</h5><h6>heading 6</h6>ordered list:<br /><ol><li><b>bold text</b></li><li><i>italic text</i></li><li><u>underlined text</u></li><li><a href=\"http:#www.tecnick.com\">link to http://www.tecnick.com</a></li><li>test break<br />second line<br />third line</li><li><font size=\"+3\">font + 3</font></li><li><small>small text</small></li><li>normal <sub>subscript</sub> <sup>superscript</sup></li></ul><hr />table:<br /><table border=\"1\" cellspacing=\"1\" cellpadding=\"1\"><tr><th>#</th><th>A</th><th>B</th></tr><tr><th>1</th><td bgcolor=\"#cccccc\">A1</td><td>B1</td></tr><tr><th>2</th><td>A2 € &euro; &#8364; &amp; è &egrave; </td><td>B2</td></tr><tr><th>3</th><td>A3</td><td><font color=\"#FF0000\">B3</font></td></tr></table><hr />image:<br /><img src=\"#{File.join(RAILS_ROOT, 'public')}/logo_example.png\" alt=\"test alt attribute\" width=\"100\" height=\"100\" border=\"0\" />";
+
+
+  # ENGLISH
+
+  @l = {}
+
+  # PAGE META DESCRIPTORS --------------------------------------
+
+  @l['a_meta_charset'] = "UTF-8";
+  @l['a_meta_dir'] = "ltr";
+  @l['a_meta_language'] = "en";
+
+  # TRANSLATIONS --------------------------------------
+  @l['w_page'] = "page";
+
+
+  # create new PDF document (document units are set by default to millimeters)
+  pdf = TCPDF.new
+
+  # set document information
+  pdf.SetCreator("TCPDF");
+  pdf.SetAuthor("TCPDF");
+  pdf.SetTitle(doc_title);
+  pdf.SetSubject(doc_subject);
+  pdf.SetKeywords(doc_keywords);
+
+  pdf.SetHeaderData("#{File.join(RAILS_ROOT, 'public')}/logo_example.png", 20, "header title", "first row\nsecond row\nthird row");
+
+  #set margins
+  pdf.SetMargins(15, 27, 15);
+  #set auto page breaks
+  pdf.SetAutoPageBreak(true, 25);
+  pdf.SetPrintHeader
+  pdf.SetPrintFooter
+  pdf.SetHeaderMargin(5);
+  pdf.SetFooterMargin(10);
+  pdf.SetImageScale(4); #set image scale factor
+
+  pdf.SetHeaderFont(["FreeSans", '', 10]);
+  pdf.SetFooterFont(["FreeSans", '', 8]);
+
+  pdf.SetLanguageArray(@l); #set language items
+
+
+  #initialize document
+  pdf.alias_nb_pages();
+
+  pdf.AddPage();
+
+  # set barcode
+  # pdf.SetBarcode(Time.now.strftime("Y-m-d H:i:s"));
+
+  # output some HTML code
+  pdf.SetFont("vera", "", 10);
+    
+  pdf.writeHTML(htmlcontent, true, 0);
+
+  # output two html columns
+  first_column_width = 80;
+  current_y_position = pdf.GetY();
+  pdf.writeHTMLCell(first_column_width, 0, 0, current_y_position, "<b>hello</b>", 0, 0, 0); 
+  pdf.writeHTMLCell(0, 0, first_column_width, current_y_position, "<i>world</i>", 0, 1, 0); 
+ 
+  # output some content
+  pdf.SetFont("vera", "BI", 20);
+  pdf.Cell(0,10,"TEST Bold-Italic Cell",1,1,'C');
+ 
+  # output some UTF-8 test content
+  pdf.AddPage();
+  pdf.SetFont("FreeSans", "", 12);
+  utf8text = open(File.join(RAILS_ROOT, 'vendor/plugins/rfpdf',"utf8test.txt"), "rb").read; # get utf-8 text form file
+  pdf.SetFillColor(230, 240, 255, true);
+  pdf.Write(5, utf8text, '', 1);
+  
+  # remove page header/footer
+  pdf.SetPrintHeader(false);
+  pdf.SetPrintFooter(false);
+  
+  # Two HTML columns test
+  pdf.AddPage();
+  right_column = "<b>right column</b> right column right column right column right column
+  right column right column right column right column right column right column
+  right column right column right column right column right column right column";
+  left_column = "<b>left column</b> left column left column left column left column left
+  column left column left column left column left column left column left column
+  left column left column left column left column left column left column left
+  column";
+  first_column_width = 80;
+  second_column_width = 80;
+  column_space = 20; 
+  current_y_position = pdf.GetY(); 
+  pdf.writeHTMLCell(first_column_width, 0, 0, 0, left_column, 1, 0, 0);
+  pdf.Cell(0);
+  pdf.writeHTMLCell(second_column_width, 0, first_column_width+column_space, current_y_position, right_column, 0, 0, 0);
+  
+  # add page header/footer
+  pdf.SetPrintHeader(true);
+  pdf.SetPrintFooter(true);
+  
+  pdf.AddPage();
+
+  # Multicell test
+  pdf.MultiCell(40, 5, "A test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0, 0);
+  pdf.MultiCell(40, 5, "B test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0);
+  pdf.MultiCell(40, 5, "C test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0, 0);
+  pdf.MultiCell(40, 5, "D test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0, 2);
+  pdf.MultiCell(40, 5, "F test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0);
+
+  #Close and output PDF document
+%><%=pdf.Output()%>
\ No newline at end of file