-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathREADME.txt
More file actions
95 lines (83 loc) · 2.89 KB
/
README.txt
File metadata and controls
95 lines (83 loc) · 2.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
==============================================
template2pdf: Converts tRML template to PDF
==============================================
**IMPORTANT: Kay support will be dropped.**
Great thanks to:
* The !ReportLab Project, for providing handy PDF interface to Python: http://www.reportlab.com/
* Favien Pinckaers of OpenERP, the original author of trml2pdf code.
* Rohit Sankaran, owner of !GitHub trml2pdf master: http://github.com/roadhead/trml2pdf/
* Taniguchi Takaki, for early mention of trml2pdf in Japan: http://takaki-web.media-as.org/blog/
Usage
======
Writing tRML with template markups
-------------------------------------
::
<!DOCTYPE document SYSTEM "rml.dtd">
{% load pdf_tags %}
<document filename="{{ pdf_name }}">
{% block template %}
<template pagesize="({% block pagesize %}595, 841{% endblock %})"
showBoundary="0">
{% block template_content %}
<pageTemplate id="main">
{% block page_graphics %}
<pageGraphics>
{% block header %}
{% endblock header %}
{% block footer %}
{% endblock footer %}
</pageGraphics>
{% endblock page_graphics %}
{% block frame %}
<frame id="content"
x1="{{ content_x1|default:"40" }}"
y1="{{ content_y1|default:"60" }}"
width="{{ content_width|default:"515" }}"
height="{{ content_height|default:"710" }}"/>
{% endblock frame %}
{% block extra_frames %}
{% endblock extra_frames %}
</pageTemplate>
{% endblock template_content %}
</template>
{% endblock template %}
{% block stylesheet %}
<stylesheet>
{% block styles %}
<paraStyle name="Normal"
fontName="{% firstof normal_font_name font_name "Serif" %}"
fontSize="{% firstof normal_font_size font_size|default:"9" %}"
textColor="{% firstof normal_text_color text_color "black" %}"
wordWrap="CJK"
/>
{% endblock styles %}
{% block extra_styles %}
{% endblock extra_styles %}
</stylesheet>
{% endblock stylesheet %}
{% block story %}
<story>
{% block story_content %}
{% block content %}
<para style="Normal">
This is main content
</para>
{% endblock content %}
{% endblock story_content %}
</story>
{% endblock story %}
</document>
Note:
* As normal Django templates, inheritance, filters, tags are available.
* Unfortunately tRML does not support cross references.
Rendering in a view
----------------------
::
# coding: utf-8
from template2pdf.dj import direct_to_pdf
def myview(request, template_name='somewhere/yourtemplate.rml'):
params = {}
# ... populate params in your order.
return direct_to_pdf(request, template_name, params)
Hints:
* Content-Disposition can be set to tell your browser downloading content as a file, instead of opening in it.