test_unicode.rfpdf
114 lines
| 4.7 KiB
| text/plain
|
TextLexer
|
r5127 | <% | |
doc_title = "test title"; | |||
doc_subject = "test description"; | |||
doc_keywords = "test keywords"; | |||
htmlcontent = "< € € € & è è © ><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 € € € & è è </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()%> |