Chris@441: <%
Chris@441: doc_title = "test title";
Chris@441: doc_subject = "test description";
Chris@441: doc_keywords = "test keywords";
Chris@441: htmlcontent = "< € € € & è è © >
heading 1
heading 2
heading 3
heading 4
heading 5
heading 6
ordered list:
- bold text
- italic text
- underlined text
- link to http://www.tecnick.com
- test break
second line
third line - font + 3
- small text
- normal subscript superscript
table:
# | A | B |
---|
1 | A1 | B1 |
---|
2 | A2 € € € & è è | B2 |
---|
3 | A3 | B3 |
---|
image:
";
Chris@441:
Chris@441:
Chris@441: # ENGLISH
Chris@441:
Chris@441: @l = {}
Chris@441:
Chris@441: # PAGE META DESCRIPTORS --------------------------------------
Chris@441:
Chris@441: @l['a_meta_charset'] = "UTF-8";
Chris@441: @l['a_meta_dir'] = "ltr";
Chris@441: @l['a_meta_language'] = "en";
Chris@441:
Chris@441: # TRANSLATIONS --------------------------------------
Chris@441: @l['w_page'] = "page";
Chris@441:
Chris@441:
Chris@441: # create new PDF document (document units are set by default to millimeters)
Chris@441: pdf = TCPDF.new
Chris@441:
Chris@441: # set document information
Chris@441: pdf.SetCreator("TCPDF");
Chris@441: pdf.SetAuthor("TCPDF");
Chris@441: pdf.SetTitle(doc_title);
Chris@441: pdf.SetSubject(doc_subject);
Chris@441: pdf.SetKeywords(doc_keywords);
Chris@441:
Chris@441: pdf.SetHeaderData("#{File.join(RAILS_ROOT, 'public')}/logo_example.png", 20, "header title", "first row\nsecond row\nthird row");
Chris@441:
Chris@441: #set margins
Chris@441: pdf.SetMargins(15, 27, 15);
Chris@441: #set auto page breaks
Chris@441: pdf.SetAutoPageBreak(true, 25);
Chris@441: pdf.SetPrintHeader
Chris@441: pdf.SetPrintFooter
Chris@441: pdf.SetHeaderMargin(5);
Chris@441: pdf.SetFooterMargin(10);
Chris@441: pdf.SetImageScale(4); #set image scale factor
Chris@441:
Chris@441: pdf.SetHeaderFont(["FreeSans", '', 10]);
Chris@441: pdf.SetFooterFont(["FreeSans", '', 8]);
Chris@441:
Chris@441: pdf.SetLanguageArray(@l); #set language items
Chris@441:
Chris@441:
Chris@441: #initialize document
Chris@441: pdf.alias_nb_pages();
Chris@441:
Chris@441: pdf.AddPage();
Chris@441:
Chris@441: # set barcode
Chris@441: # pdf.SetBarcode(Time.now.strftime("Y-m-d H:i:s"));
Chris@441:
Chris@441: # output some HTML code
Chris@441: pdf.SetFont("vera", "", 10);
Chris@441:
Chris@441: pdf.writeHTML(htmlcontent, true, 0);
Chris@441:
Chris@441: # output two html columns
Chris@441: first_column_width = 80;
Chris@441: current_y_position = pdf.GetY();
Chris@441: pdf.writeHTMLCell(first_column_width, 0, 0, current_y_position, "hello", 0, 0, 0);
Chris@441: pdf.writeHTMLCell(0, 0, first_column_width, current_y_position, "world", 0, 1, 0);
Chris@441:
Chris@441: # output some content
Chris@441: pdf.SetFont("vera", "BI", 20);
Chris@441: pdf.Cell(0,10,"TEST Bold-Italic Cell",1,1,'C');
Chris@441:
Chris@441: # output some UTF-8 test content
Chris@441: pdf.AddPage();
Chris@441: pdf.SetFont("FreeSans", "", 12);
Chris@441: utf8text = open(File.join(RAILS_ROOT, 'vendor/plugins/rfpdf',"utf8test.txt"), "rb").read; # get utf-8 text form file
Chris@441: pdf.SetFillColor(230, 240, 255, true);
Chris@441: pdf.Write(5, utf8text, '', 1);
Chris@441:
Chris@441: # remove page header/footer
Chris@441: pdf.SetPrintHeader(false);
Chris@441: pdf.SetPrintFooter(false);
Chris@441:
Chris@441: # Two HTML columns test
Chris@441: pdf.AddPage();
Chris@441: right_column = "right column right column right column right column right column
Chris@441: right column right column right column right column right column right column
Chris@441: right column right column right column right column right column right column";
Chris@441: left_column = "left column left column left column left column left column left
Chris@441: column left column left column left column left column left column left column
Chris@441: left column left column left column left column left column left column left
Chris@441: column";
Chris@441: first_column_width = 80;
Chris@441: second_column_width = 80;
Chris@441: column_space = 20;
Chris@441: current_y_position = pdf.GetY();
Chris@441: pdf.writeHTMLCell(first_column_width, 0, 0, 0, left_column, 1, 0, 0);
Chris@441: pdf.Cell(0);
Chris@441: pdf.writeHTMLCell(second_column_width, 0, first_column_width+column_space, current_y_position, right_column, 0, 0, 0);
Chris@441:
Chris@441: # add page header/footer
Chris@441: pdf.SetPrintHeader(true);
Chris@441: pdf.SetPrintFooter(true);
Chris@441:
Chris@441: pdf.AddPage();
Chris@441:
Chris@441: # Multicell test
Chris@441: pdf.MultiCell(40, 5, "A test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0, 0);
Chris@441: pdf.MultiCell(40, 5, "B test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0);
Chris@441: pdf.MultiCell(40, 5, "C test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0, 0);
Chris@441: pdf.MultiCell(40, 5, "D test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0, 2);
Chris@441: pdf.MultiCell(40, 5, "F test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0);
Chris@441:
Chris@441: #Close and output PDF document
Chris@441: %><%=pdf.Output()%>