annotate .svn/pristine/b7/b71f3760d3a5d5767942f7217207ce51594a67ab.svn-base @ 1327:287f201c2802 redmine-2.2-integration

Add italic
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Wed, 19 Jun 2013 20:56:22 +0100
parents cbb26bc654de
children
rev   line source
Chris@909 1 <%
Chris@909 2 doc_title = "test title";
Chris@909 3 doc_subject = "test description";
Chris@909 4 doc_keywords = "test keywords";
Chris@909 5 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\" />";
Chris@909 6
Chris@909 7
Chris@909 8 # ENGLISH
Chris@909 9
Chris@909 10 @l = {}
Chris@909 11
Chris@909 12 # PAGE META DESCRIPTORS --------------------------------------
Chris@909 13
Chris@909 14 @l['a_meta_charset'] = "UTF-8";
Chris@909 15 @l['a_meta_dir'] = "ltr";
Chris@909 16 @l['a_meta_language'] = "en";
Chris@909 17
Chris@909 18 # TRANSLATIONS --------------------------------------
Chris@909 19 @l['w_page'] = "page";
Chris@909 20
Chris@909 21
Chris@909 22 # create new PDF document (document units are set by default to millimeters)
Chris@909 23 pdf = TCPDF.new
Chris@909 24
Chris@909 25 # set document information
Chris@909 26 pdf.SetCreator("TCPDF");
Chris@909 27 pdf.SetAuthor("TCPDF");
Chris@909 28 pdf.SetTitle(doc_title);
Chris@909 29 pdf.SetSubject(doc_subject);
Chris@909 30 pdf.SetKeywords(doc_keywords);
Chris@909 31
Chris@909 32 pdf.SetHeaderData("#{File.join(RAILS_ROOT, 'public')}/logo_example.png", 20, "header title", "first row\nsecond row\nthird row");
Chris@909 33
Chris@909 34 #set margins
Chris@909 35 pdf.SetMargins(15, 27, 15);
Chris@909 36 #set auto page breaks
Chris@909 37 pdf.SetAutoPageBreak(true, 25);
Chris@909 38 pdf.SetPrintHeader
Chris@909 39 pdf.SetPrintFooter
Chris@909 40 pdf.SetHeaderMargin(5);
Chris@909 41 pdf.SetFooterMargin(10);
Chris@909 42 pdf.SetImageScale(4); #set image scale factor
Chris@909 43
Chris@909 44 pdf.SetHeaderFont(["FreeSans", '', 10]);
Chris@909 45 pdf.SetFooterFont(["FreeSans", '', 8]);
Chris@909 46
Chris@909 47 pdf.SetLanguageArray(@l); #set language items
Chris@909 48
Chris@909 49
Chris@909 50 #initialize document
Chris@909 51 pdf.alias_nb_pages();
Chris@909 52
Chris@909 53 pdf.AddPage();
Chris@909 54
Chris@909 55 # set barcode
Chris@909 56 # pdf.SetBarcode(Time.now.strftime("Y-m-d H:i:s"));
Chris@909 57
Chris@909 58 # output some HTML code
Chris@909 59 pdf.SetFont("vera", "", 10);
Chris@909 60
Chris@909 61 pdf.writeHTML(htmlcontent, true, 0);
Chris@909 62
Chris@909 63 # output two html columns
Chris@909 64 first_column_width = 80;
Chris@909 65 current_y_position = pdf.GetY();
Chris@909 66 pdf.writeHTMLCell(first_column_width, 0, 0, current_y_position, "<b>hello</b>", 0, 0, 0);
Chris@909 67 pdf.writeHTMLCell(0, 0, first_column_width, current_y_position, "<i>world</i>", 0, 1, 0);
Chris@909 68
Chris@909 69 # output some content
Chris@909 70 pdf.SetFont("vera", "BI", 20);
Chris@909 71 pdf.Cell(0,10,"TEST Bold-Italic Cell",1,1,'C');
Chris@909 72
Chris@909 73 # output some UTF-8 test content
Chris@909 74 pdf.AddPage();
Chris@909 75 pdf.SetFont("FreeSans", "", 12);
Chris@909 76 utf8text = open(File.join(RAILS_ROOT, 'vendor/plugins/rfpdf',"utf8test.txt"), "rb").read; # get utf-8 text form file
Chris@909 77 pdf.SetFillColor(230, 240, 255, true);
Chris@909 78 pdf.Write(5, utf8text, '', 1);
Chris@909 79
Chris@909 80 # remove page header/footer
Chris@909 81 pdf.SetPrintHeader(false);
Chris@909 82 pdf.SetPrintFooter(false);
Chris@909 83
Chris@909 84 # Two HTML columns test
Chris@909 85 pdf.AddPage();
Chris@909 86 right_column = "<b>right column</b> right column right column right column right column
Chris@909 87 right column right column right column right column right column right column
Chris@909 88 right column right column right column right column right column right column";
Chris@909 89 left_column = "<b>left column</b> left column left column left column left column left
Chris@909 90 column left column left column left column left column left column left column
Chris@909 91 left column left column left column left column left column left column left
Chris@909 92 column";
Chris@909 93 first_column_width = 80;
Chris@909 94 second_column_width = 80;
Chris@909 95 column_space = 20;
Chris@909 96 current_y_position = pdf.GetY();
Chris@909 97 pdf.writeHTMLCell(first_column_width, 0, 0, 0, left_column, 1, 0, 0);
Chris@909 98 pdf.Cell(0);
Chris@909 99 pdf.writeHTMLCell(second_column_width, 0, first_column_width+column_space, current_y_position, right_column, 0, 0, 0);
Chris@909 100
Chris@909 101 # add page header/footer
Chris@909 102 pdf.SetPrintHeader(true);
Chris@909 103 pdf.SetPrintFooter(true);
Chris@909 104
Chris@909 105 pdf.AddPage();
Chris@909 106
Chris@909 107 # Multicell test
Chris@909 108 pdf.MultiCell(40, 5, "A test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0, 0);
Chris@909 109 pdf.MultiCell(40, 5, "B test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0);
Chris@909 110 pdf.MultiCell(40, 5, "C test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0, 0);
Chris@909 111 pdf.MultiCell(40, 5, "D test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0, 2);
Chris@909 112 pdf.MultiCell(40, 5, "F test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0);
Chris@909 113
Chris@909 114 #Close and output PDF document
Chris@909 115 %><%=pdf.Output()%>