|
| 1 | +<!-- |
| 2 | +This is intended to be rendered to a PDF using pisa, not in a browser. |
| 3 | +Therefore, the HTML and CSS here can look a bit fishy. Please refer to |
| 4 | +http://www.htmltopdf.org/doc/pisa-en.html for reference |
| 5 | +--> |
| 6 | +<html> |
| 7 | +<style> |
| 8 | +/*Custom fonts*/ |
| 9 | +/*@font-face { |
| 10 | + font-family: Weird, "Weird Font"; |
| 11 | + src: url(test/weird.ttf) |
| 12 | +} |
| 13 | +@font-face { |
| 14 | + font-family: Akkurat; |
| 15 | + src: url(test/Akkurat.ttf) |
| 16 | +} |
| 17 | +@font-face { |
| 18 | + font-family: Akk; |
| 19 | + src: url(test/akk.otf) |
| 20 | +}*/ |
| 21 | +/* Page layout */ |
| 22 | +@page { |
| 23 | + @frame { |
| 24 | + -pdf-frame-content: company_logo; |
| 25 | + /*-pdf-frame-border: 1;*/ |
| 26 | + right: 3cm; |
| 27 | + width: 5cm; |
| 28 | + top: 1cm; |
| 29 | + height: 1cm; |
| 30 | + } |
| 31 | + @frame { |
| 32 | + -pdf-frame-content: address_sender; |
| 33 | + /*-pdf-frame-border: 1;*/ |
| 34 | + right: 4cm; |
| 35 | + width: 5cm; |
| 36 | + top: 4cm; |
| 37 | + height: 3cm; |
| 38 | + } |
| 39 | + @frame { |
| 40 | + -pdf-frame-content: address_receiver; |
| 41 | + /*-pdf-frame-border: 1;*/ |
| 42 | + left: 2cm; |
| 43 | + width: 5cm; |
| 44 | + top: 4cm; |
| 45 | + height: 3cm; |
| 46 | + } |
| 47 | + @frame { |
| 48 | + -pdf-frame-content: main_text; |
| 49 | + /*-pdf-frame-border: 1;*/ |
| 50 | + right: 2cm; |
| 51 | + left: 2cm; |
| 52 | + top: 7cm; |
| 53 | + bottom: 5cm; |
| 54 | + } |
| 55 | + @frame { |
| 56 | + -pdf-frame-content: signature_left; |
| 57 | + /*-pdf-frame-border: 1;*/ |
| 58 | + left: 2cm; |
| 59 | + width: 5cm; |
| 60 | + bottom: 1cm; |
| 61 | + height: 3cm; |
| 62 | + } |
| 63 | + @frame { |
| 64 | + -pdf-frame-content: signature_right; |
| 65 | + /*-pdf-frame-border: 1;*/ |
| 66 | + right: 2cm; |
| 67 | + width: 5cm; |
| 68 | + bottom: 1cm; |
| 69 | + height: 3cm; |
| 70 | + } |
| 71 | +} |
| 72 | + |
| 73 | +h1, h2, h3, h4 { /* Don't add an outline to the document */ |
| 74 | + -pdf-outline: false; |
| 75 | +} |
| 76 | + |
| 77 | +.border { |
| 78 | + border-top-width: 1px; |
| 79 | + border-bottom-width: 1px; |
| 80 | + border-left-width: 1px; |
| 81 | + border-right-width: 1px; |
| 82 | + |
| 83 | + border-top-style: solid; |
| 84 | + border-bottom-style: solid; |
| 85 | + border-left-style: solid; |
| 86 | + border-right-style: solid; |
| 87 | +} |
| 88 | + |
| 89 | +.top_image { |
| 90 | + zoom: 80%; |
| 91 | +} |
| 92 | + |
| 93 | +</style> |
| 94 | +<body> |
| 95 | +<div id="company_logo"> |
| 96 | + <img src='test/logo_main.png' class="top_image" /> |
| 97 | +</div> |
| 98 | +<div id="address_sender" class="compact"> |
| 99 | + Test Inc.<br /> |
| 100 | + Test street 1<br /> |
| 101 | + CH-8022 Zürich<br /> |
| 102 | + Whatever<br /> |
| 103 | +</div> |
| 104 | +<div id="address_receiver" class="compact"> |
| 105 | + Line 1<br /> |
| 106 | + Line 2<br /> |
| 107 | + Line 3<br /> |
| 108 | + Line 4<br /> |
| 109 | +</div> |
| 110 | +<div id="main_text"> |
| 111 | + <h1>{{object.username}}</h1> |
| 112 | + <div> |
| 113 | + <h3> Whatever </h3> |
| 114 | + <!-- cannot make borders span several p tags.... --> |
| 115 | + <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi pretium dignissim eros, posuere venenatis purus varius vitae. Suspendisse quis elit ligula. Cras vulputate metus vitae lectus iaculis nec adipiscing est fermentum. Praesent ac urna ante. Cras semper malesuada sapien at consectetur. Vivamus arcu sapien, dignissim sit amet mollis quis, scelerisque nec nibh. In hac habitasse platea dictumst. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam rutrum interdum felis, quis suscipit justo malesuada at. Mauris luctus justo id nulla placerat et pharetra mi interdum. Mauris rhoncus augue eu tortor luctus convallis. Nulla facilisi. Morbi ut arcu enim. Nullam in leo arcu, sed ultrices felis. Etiam scelerisque rhoncus ultrices. Nulla in elit ut dolor luctus semper. In eleifend consectetur eros, et pellentesque nulla vehicula non. Nam nec lorem ut dui pellentesque dapibus. Etiam condimentum vulputate lectus.</p> |
| 116 | + <p>Fusce tempus ullamcorper magna, vitae placerat ligula convallis eget. Phasellus sed ullamcorper felis. Vivamus sit amet purus eu mi pretium tempus. Aenean tristique purus id justo suscipit fringilla. Nam egestas felis non velit luctus volutpat. Aliquam interdum congue elementum. Mauris pulvinar fermentum nisl at dignissim. Ut ornare, dolor vitae consectetur iaculis, augue diam porttitor dolor, ut lobortis lorem sem a tellus. Praesent blandit sem in arcu hendrerit ornare. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin non nibh nulla, sed lacinia ante. In viverra congue sapien, ut aliquet justo sagittis vitae. Morbi dictum venenatis eros, et pulvinar enim pretium eu.</p> |
| 117 | + </div> |
| 118 | + <div> |
| 119 | + <p>Etiam metus nisl, porttitor et convallis sit amet, imperdiet non lectus. Nam nec tincidunt nibh. Nullam dignissim lacus nec nisi adipiscing id euismod nunc pretium. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris in velit risus. Nulla vulputate vehicula diam, eu porta dolor mattis id. Pellentesque sed lacus non erat pharetra dignissim. Aenean lorem tellus, volutpat vitae aliquet ac, imperdiet at risus. Etiam condimentum, quam tempor porttitor bibendum, metus magna hendrerit turpis, ac dapibus nisl leo id massa. In a nisi ante, id mollis ligula. Sed ante erat, ultricies id lacinia sit amet, sollicitudin nec eros. Phasellus sem elit, lobortis pharetra ullamcorper tempor, volutpat sed lorem. Donec sed suscipit velit. Integer tincidunt adipiscing enim, vitae placerat urna venenatis nec.</p> |
| 120 | + <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris nec nulla lorem. Sed cursus erat in dui mollis lobortis. Fusce interdum facilisis risus, sed pretium ligula suscipit vel. Duis tincidunt cursus ipsum et tristique. Sed placerat hendrerit pretium. Vestibulum porttitor porttitor faucibus. Aliquam erat volutpat. Nam elementum leo eu ante fringilla cursus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam eleifend odio a magna hendrerit congue. Sed in fermentum ligula. Maecenas interdum, velit ut bibendum sollicitudin, magna mauris cursus ligula, in condimentum neque nisl vitae dui. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec vel dignissim felis. Aenean vitae orci eu lacus ornare tristique eu nec neque. Etiam eleifend interdum mollis. Morbi id risus est, in vehicula nisi.</p> |
| 121 | + <p>Nunc vestibulum, lacus quis euismod posuere, nibh enim commodo tortor, eget suscipit sapien mauris quis tortor. Curabitur arcu velit, placerat non consectetur non, tristique in erat. Aliquam sagittis rhoncus mollis. In vitae tortor sapien. Pellentesque ac augue ullamcorper eros fringilla vehicula. Donec lectus urna, sodales quis sollicitudin vitae, bibendum nec ante. Etiam tortor enim, pretium in pulvinar vel, tincidunt non mauris. Nullam leo elit, varius eu pretium at, adipiscing sit amet sapien. Mauris aliquet, augue id sollicitudin viverra, nunc neque gravida arcu, ut pharetra lacus nibh quis lacus. Sed imperdiet rhoncus sapien eu accumsan. Pellentesque nec mi id mauris consequat placerat. Nunc tempus tristique justo sit amet sollicitudin. Phasellus accumsan, tellus sit amet dictum ultricies, dui nulla fermentum eros, quis venenatis sapien leo sit amet est. Sed et turpis justo. Fusce eget tellus sollicitudin sem elementum tempor. Aliquam ac nisi justo, vulputate feugiat leo. Phasellus non nulla ullamcorper arcu laoreet ornare. Suspendisse tristique volutpat auctor. </p> |
| 122 | + </div> |
| 123 | +</div> |
| 124 | +<div id="signature_right"> |
| 125 | + <h1>Signature right</h1> |
| 126 | +</div> |
| 127 | +<div id="signature_left"> |
| 128 | + <h1><pdf:barcode value="abc-1234-5678" type="code126" humanreadable="1" align="baseline" /></h1> |
| 129 | +</div> |
| 130 | +</body> |
| 131 | +</html> |
0 commit comments