pdf-labels 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +8 -0
- data/LICENCE +38 -0
- data/Manifest.txt +141 -0
- data/README.txt +72 -0
- data/Rakefile +30 -0
- data/lib/alias.rb +8 -0
- data/lib/glabel_template.rb +36 -0
- data/lib/label.rb +52 -0
- data/lib/layout.rb +13 -0
- data/lib/length_node.rb +47 -0
- data/lib/markup.rb +25 -0
- data/lib/pdf_label_page.rb +171 -0
- data/lib/pdf_labels.rb +6 -0
- data/lib/template.rb +37 -0
- data/templates/avery-iso-templates.xml +222 -0
- data/templates/avery-other-templates.xml +21 -0
- data/templates/avery-us-templates.xml +599 -0
- data/templates/glabels-2.0.dtd +329 -0
- data/templates/misc-iso-templates.xml +434 -0
- data/templates/misc-other-templates.xml +21 -0
- data/templates/misc-us-templates.xml +183 -0
- data/templates/paper-sizes.xml +37 -0
- data/templates/zweckform-iso-templates.xml +197 -0
- data/test/test_pdf_label_page.rb +91 -0
- data/vendor/color.rb +87 -0
- data/vendor/color/cmyk.rb +182 -0
- data/vendor/color/css.rb +27 -0
- data/vendor/color/grayscale.rb +135 -0
- data/vendor/color/hsl.rb +130 -0
- data/vendor/color/palette.rb +15 -0
- data/vendor/color/palette/gimp.rb +107 -0
- data/vendor/color/palette/monocontrast.rb +180 -0
- data/vendor/color/rgb-colors.rb +189 -0
- data/vendor/color/rgb.rb +311 -0
- data/vendor/color/rgb/metallic.rb +28 -0
- data/vendor/color/yiq.rb +78 -0
- data/vendor/pdf/charts.rb +13 -0
- data/vendor/pdf/charts/stddev.rb +433 -0
- data/vendor/pdf/grid.rb +135 -0
- data/vendor/pdf/math.rb +108 -0
- data/vendor/pdf/pagenumbers.rb +288 -0
- data/vendor/pdf/quickref.rb +331 -0
- data/vendor/pdf/simpletable.rb +947 -0
- data/vendor/pdf/techbook.rb +901 -0
- data/vendor/pdf/writer.rb +2801 -0
- data/vendor/pdf/writer/arc4.rb +63 -0
- data/vendor/pdf/writer/fontmetrics.rb +202 -0
- data/vendor/pdf/writer/fonts/Courier-Bold.afm +342 -0
- data/vendor/pdf/writer/fonts/Courier-BoldOblique.afm +342 -0
- data/vendor/pdf/writer/fonts/Courier-Oblique.afm +342 -0
- data/vendor/pdf/writer/fonts/Courier.afm +342 -0
- data/vendor/pdf/writer/fonts/Helvetica-Bold.afm +2827 -0
- data/vendor/pdf/writer/fonts/Helvetica-BoldOblique.afm +2827 -0
- data/vendor/pdf/writer/fonts/Helvetica-Oblique.afm +3051 -0
- data/vendor/pdf/writer/fonts/Helvetica.afm +3051 -0
- data/vendor/pdf/writer/fonts/Symbol.afm +213 -0
- data/vendor/pdf/writer/fonts/Times-Bold.afm +2588 -0
- data/vendor/pdf/writer/fonts/Times-BoldItalic.afm +2384 -0
- data/vendor/pdf/writer/fonts/Times-Italic.afm +2667 -0
- data/vendor/pdf/writer/fonts/Times-Roman.afm +2419 -0
- data/vendor/pdf/writer/fonts/ZapfDingbats.afm +225 -0
- data/vendor/pdf/writer/graphics.rb +813 -0
- data/vendor/pdf/writer/graphics/imageinfo.rb +365 -0
- data/vendor/pdf/writer/lang.rb +44 -0
- data/vendor/pdf/writer/lang/en.rb +104 -0
- data/vendor/pdf/writer/object.rb +23 -0
- data/vendor/pdf/writer/object/action.rb +40 -0
- data/vendor/pdf/writer/object/annotation.rb +42 -0
- data/vendor/pdf/writer/object/catalog.rb +39 -0
- data/vendor/pdf/writer/object/contents.rb +69 -0
- data/vendor/pdf/writer/object/destination.rb +40 -0
- data/vendor/pdf/writer/object/encryption.rb +53 -0
- data/vendor/pdf/writer/object/font.rb +68 -0
- data/vendor/pdf/writer/object/fontdescriptor.rb +34 -0
- data/vendor/pdf/writer/object/fontencoding.rb +40 -0
- data/vendor/pdf/writer/object/image.rb +308 -0
- data/vendor/pdf/writer/object/info.rb +79 -0
- data/vendor/pdf/writer/object/outline.rb +30 -0
- data/vendor/pdf/writer/object/outlines.rb +30 -0
- data/vendor/pdf/writer/object/page.rb +195 -0
- data/vendor/pdf/writer/object/pages.rb +115 -0
- data/vendor/pdf/writer/object/procset.rb +46 -0
- data/vendor/pdf/writer/object/viewerpreferences.rb +74 -0
- data/vendor/pdf/writer/ohash.rb +58 -0
- data/vendor/pdf/writer/oreader.rb +25 -0
- data/vendor/pdf/writer/state.rb +48 -0
- data/vendor/pdf/writer/strokestyle.rb +140 -0
- data/vendor/transaction/simple.rb +693 -0
- data/vendor/transaction/simple/group.rb +133 -0
- data/vendor/transaction/simple/threadsafe.rb +52 -0
- data/vendor/transaction/simple/threadsafe/group.rb +23 -0
- data/vendor/xml-mapping/ChangeLog +128 -0
- data/vendor/xml-mapping/LICENSE +56 -0
- data/vendor/xml-mapping/README +386 -0
- data/vendor/xml-mapping/README_XPATH +175 -0
- data/vendor/xml-mapping/Rakefile +214 -0
- data/vendor/xml-mapping/TODO.txt +32 -0
- data/vendor/xml-mapping/doc/xpath_impl_notes.txt +119 -0
- data/vendor/xml-mapping/examples/company.rb +34 -0
- data/vendor/xml-mapping/examples/company.xml +26 -0
- data/vendor/xml-mapping/examples/company_usage.intin.rb +19 -0
- data/vendor/xml-mapping/examples/company_usage.intout +39 -0
- data/vendor/xml-mapping/examples/order.rb +61 -0
- data/vendor/xml-mapping/examples/order.xml +54 -0
- data/vendor/xml-mapping/examples/order_signature_enhanced.rb +7 -0
- data/vendor/xml-mapping/examples/order_signature_enhanced.xml +9 -0
- data/vendor/xml-mapping/examples/order_signature_enhanced_usage.intin.rb +12 -0
- data/vendor/xml-mapping/examples/order_signature_enhanced_usage.intout +16 -0
- data/vendor/xml-mapping/examples/order_usage.intin.rb +73 -0
- data/vendor/xml-mapping/examples/order_usage.intout +147 -0
- data/vendor/xml-mapping/examples/time_augm.intin.rb +19 -0
- data/vendor/xml-mapping/examples/time_augm.intout +23 -0
- data/vendor/xml-mapping/examples/time_node.rb +27 -0
- data/vendor/xml-mapping/examples/xpath_create_new.intin.rb +85 -0
- data/vendor/xml-mapping/examples/xpath_create_new.intout +181 -0
- data/vendor/xml-mapping/examples/xpath_docvsroot.intin.rb +30 -0
- data/vendor/xml-mapping/examples/xpath_docvsroot.intout +34 -0
- data/vendor/xml-mapping/examples/xpath_ensure_created.intin.rb +62 -0
- data/vendor/xml-mapping/examples/xpath_ensure_created.intout +114 -0
- data/vendor/xml-mapping/examples/xpath_pathological.intin.rb +42 -0
- data/vendor/xml-mapping/examples/xpath_pathological.intout +56 -0
- data/vendor/xml-mapping/examples/xpath_usage.intin.rb +51 -0
- data/vendor/xml-mapping/examples/xpath_usage.intout +57 -0
- data/vendor/xml-mapping/install.rb +40 -0
- data/vendor/xml-mapping/lib/xml/mapping.rb +14 -0
- data/vendor/xml-mapping/lib/xml/mapping/base.rb +571 -0
- data/vendor/xml-mapping/lib/xml/mapping/standard_nodes.rb +343 -0
- data/vendor/xml-mapping/lib/xml/mapping/version.rb +8 -0
- data/vendor/xml-mapping/lib/xml/xxpath.rb +354 -0
- data/vendor/xml-mapping/test/all_tests.rb +6 -0
- data/vendor/xml-mapping/test/company.rb +56 -0
- data/vendor/xml-mapping/test/documents_folders.rb +33 -0
- data/vendor/xml-mapping/test/fixtures/bookmarks1.xml +24 -0
- data/vendor/xml-mapping/test/fixtures/company1.xml +85 -0
- data/vendor/xml-mapping/test/fixtures/documents_folders.xml +71 -0
- data/vendor/xml-mapping/test/fixtures/documents_folders2.xml +30 -0
- data/vendor/xml-mapping/test/multiple_mappings.rb +80 -0
- data/vendor/xml-mapping/test/tests_init.rb +2 -0
- data/vendor/xml-mapping/test/xml_mapping_adv_test.rb +84 -0
- data/vendor/xml-mapping/test/xml_mapping_test.rb +201 -0
- data/vendor/xml-mapping/test/xpath_test.rb +273 -0
- metadata +191 -0
data/lib/markup.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'length_node'
|
2
|
+
|
3
|
+
|
4
|
+
class MarkupMargin
|
5
|
+
include XML::Mapping
|
6
|
+
length_node :size, "@size"
|
7
|
+
|
8
|
+
end
|
9
|
+
|
10
|
+
class MarkupLine
|
11
|
+
include XML::Mapping
|
12
|
+
length_node :x1, "@x1"
|
13
|
+
length_node :y1, "@y1"
|
14
|
+
length_node :x2, "@x2"
|
15
|
+
length_node :y2, "@y2"
|
16
|
+
end
|
17
|
+
|
18
|
+
class MarkupCircle
|
19
|
+
include XML::Mapping
|
20
|
+
length_node :x0, "@x0"
|
21
|
+
length_node :y0, "@y0"
|
22
|
+
length_node :radius, "@radius"
|
23
|
+
end
|
24
|
+
|
25
|
+
|
@@ -0,0 +1,171 @@
|
|
1
|
+
$: << File.expand_path(File.dirname(__FILE__) + "/../vendor")
|
2
|
+
require 'xml/mapping'
|
3
|
+
require 'glabel_template'
|
4
|
+
require 'pdf/writer'
|
5
|
+
#--- require 'breakpoint'
|
6
|
+
|
7
|
+
class PDFLabelPage
|
8
|
+
attr_accessor :gt, :template, :label, :pdf
|
9
|
+
@@gt = nil
|
10
|
+
def initialize(template_name, pdf_opts = {})
|
11
|
+
@@gt || PDFLabelPage.load_template_set
|
12
|
+
unless @template = @@gt.find_template(template_name)
|
13
|
+
raise "Template not found!"
|
14
|
+
end
|
15
|
+
#if the template specifies the paper type, and the user didn't use it.
|
16
|
+
if @template.size && !pdf_opts.has_key?(:paper)
|
17
|
+
pdf_opts[:paper] = @template.size.gsub(/^.*-/,'')
|
18
|
+
end
|
19
|
+
#TODO figure out how to cope with multiple label types on a page
|
20
|
+
@label = @template.labels["0"]
|
21
|
+
#TODO figure out how to handle multiple layouts
|
22
|
+
@layout = @label.layouts[0]
|
23
|
+
@pdf = PDF::Writer.new(pdf_opts)
|
24
|
+
@pdf.margins_pt(0, 0, 0, 0)
|
25
|
+
end
|
26
|
+
|
27
|
+
def PDFLabelPage.load_template_set(template_set_file=nil)
|
28
|
+
template_set_file ||= File.expand_path(File.dirname(__FILE__) + "/../templates/avery-us-templates.xml")
|
29
|
+
@@gt = GlabelsTemplate.load_from_file(template_set_file)
|
30
|
+
end
|
31
|
+
|
32
|
+
def PDFLabelPage.all_template_names
|
33
|
+
@@gt || PDFLabelPage.load_template_set
|
34
|
+
@@gt.find_all_templates
|
35
|
+
end
|
36
|
+
|
37
|
+
=begin rdoc
|
38
|
+
add_label takes an argument hash.
|
39
|
+
[:position] Which label slot to print. Positions are top to bottom, left to right so position 1 is the label in the top lefthand corner. Defaults to 0
|
40
|
+
[:x & :y] The (x,y) coordinates on the page to print the text. Ignored if position is specified.
|
41
|
+
[:text] What you want to print in the label. Defaults to the (x,y) of the top left corner of the label.
|
42
|
+
[:use_margin] If the label has a markupMargin, setting this argument to true will respect that margin when writing text. Defaults to true.
|
43
|
+
[:justification] Values can be :left, :right, :center, :full. Defaults to :left
|
44
|
+
[:offset_x, offset_y] If your printer doesn't want to print with out margins you can define these values to fine tune printout.
|
45
|
+
=end
|
46
|
+
def add_label(options = {})
|
47
|
+
if position = options[:position]
|
48
|
+
label_x, label_y = position_to_x_y(position)
|
49
|
+
elsif((label_x = options[:x]) && (label_y = options[:y]))
|
50
|
+
else
|
51
|
+
label_x, label_y = position_to_x_y(0)
|
52
|
+
end
|
53
|
+
#line wrap margin
|
54
|
+
label_width = label_x + @label.width.as_pts
|
55
|
+
|
56
|
+
if (use_margin = options[:use_margin]).nil?
|
57
|
+
use_margin = true
|
58
|
+
end
|
59
|
+
if use_margin
|
60
|
+
@label.markupMargins.each {|margin|
|
61
|
+
label_x = label_x + margin.size.as_pts
|
62
|
+
label_y = label_y - margin.size.as_pts
|
63
|
+
label_width = label_width - margin.size.as_pts
|
64
|
+
}
|
65
|
+
end
|
66
|
+
|
67
|
+
if offset = options[:offset_x]
|
68
|
+
label_x = label_x + offset
|
69
|
+
label_width = label_width + offset
|
70
|
+
end
|
71
|
+
if offset = options[:offset_y]
|
72
|
+
label_y = label_y + offset
|
73
|
+
end
|
74
|
+
text = options[:text] || "[#{label_x / 72}, #{label_y / 72}]"
|
75
|
+
arg_hash = {:justification => (options[:justification] || :left),
|
76
|
+
:font_size => (options[:font_size] || 12)}
|
77
|
+
|
78
|
+
arg_hash = arg_hash.merge :absolute_left => label_x,
|
79
|
+
:absolute_right => label_width
|
80
|
+
@pdf.y = label_y
|
81
|
+
@pdf.text(text,arg_hash)
|
82
|
+
end
|
83
|
+
=begin rdoc
|
84
|
+
You can add the same text to many labels this way, takes all the arguments of add_label, but must have position instead of x,y. Requires count.
|
85
|
+
[:count] - Number of labels to print
|
86
|
+
=end
|
87
|
+
def add_many_labels(options = {})
|
88
|
+
if (options[:x] || options[:y]) && !options[:position]
|
89
|
+
raise "Can't use X,Y with add_many_labels, you must use position"
|
90
|
+
end
|
91
|
+
if !options[:position]
|
92
|
+
options[:position] = 0
|
93
|
+
end
|
94
|
+
raise "Count required" unless options[:count]
|
95
|
+
count = options[:count]
|
96
|
+
count.times do
|
97
|
+
add_label(options)
|
98
|
+
options[:position] = options[:position] + 1
|
99
|
+
end
|
100
|
+
end
|
101
|
+
=begin rdoc
|
102
|
+
To facilitate aligning a printer we give a method that prints the outlines of the labels
|
103
|
+
=end
|
104
|
+
def draw_boxes(write_coord = true, draw_markups = true)
|
105
|
+
@layout.nx.times do |x|
|
106
|
+
@layout.ny.times do |y|
|
107
|
+
box_x, box_y = get_x_y(x, y)
|
108
|
+
@pdf.rounded_rectangle(box_x,
|
109
|
+
box_y,
|
110
|
+
@label.width.as_pts,
|
111
|
+
@label.height.as_pts,
|
112
|
+
@label.round.as_pts).stroke
|
113
|
+
if write_coord
|
114
|
+
text = "#{box_x / 72}, #{box_y / 72}, #{@label.width.number}, #{label.height.number}"
|
115
|
+
add_label(:x => box_x, :y => box_y, :text => text)
|
116
|
+
end
|
117
|
+
|
118
|
+
if draw_markups
|
119
|
+
@label.markupMargins.each {|margin|
|
120
|
+
size = margin.size.as_pts
|
121
|
+
@pdf.rounded_rectangle(box_x + size,
|
122
|
+
box_y - margin.size.as_pts,
|
123
|
+
@label.width.as_pts - 2*size,
|
124
|
+
@label.height.as_pts - 2*size,
|
125
|
+
@label.round.as_pts).stroke
|
126
|
+
}
|
127
|
+
@label.markupLines.each {|line|
|
128
|
+
@pdf.line(box_x + line.x1.as_pts,
|
129
|
+
box_y + line.y1.as_pts,
|
130
|
+
box_x + line.x2.as_pts,
|
131
|
+
box_y + line.y2.as_pts).stroke
|
132
|
+
}
|
133
|
+
=begin TODO Draw cirles
|
134
|
+
@label.markupCircles.each {|cicle|
|
135
|
+
@pdf.
|
136
|
+
=end
|
137
|
+
end
|
138
|
+
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
def save_as(file_name)
|
144
|
+
@pdf.save_as(file_name)
|
145
|
+
end
|
146
|
+
|
147
|
+
protected
|
148
|
+
|
149
|
+
=begin rdoc
|
150
|
+
Position is top to bottom, left to right, starting at 1 and ending at the end of the page
|
151
|
+
=end
|
152
|
+
def position_to_x_y(position)
|
153
|
+
x = (position * 1.0 / @layout.ny).floor
|
154
|
+
y = position % @layout.ny
|
155
|
+
return get_x_y(x, y)
|
156
|
+
end
|
157
|
+
|
158
|
+
def get_x_y(x, y)
|
159
|
+
label_y = @pdf.absolute_top_margin
|
160
|
+
label_y = label_y + @pdf.top_margin
|
161
|
+
label_y = label_y - @layout.y0.as_pts
|
162
|
+
label_y = label_y - y * @layout.dy.as_pts
|
163
|
+
|
164
|
+
label_x = @pdf.absolute_left_margin
|
165
|
+
label_x = label_x - @pdf.left_margin
|
166
|
+
label_x = label_x + @layout.x0.as_pts
|
167
|
+
label_x = label_x + x * @layout.dx.as_pts
|
168
|
+
|
169
|
+
return label_x, label_y
|
170
|
+
end
|
171
|
+
end
|
data/lib/pdf_labels.rb
ADDED
data/lib/template.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'alias'
|
2
|
+
require 'label'
|
3
|
+
require 'markup'
|
4
|
+
|
5
|
+
class Template
|
6
|
+
include XML::Mapping
|
7
|
+
attr_accessor :labels
|
8
|
+
|
9
|
+
text_node :name, "@name"
|
10
|
+
text_node :size, "@size"
|
11
|
+
text_node :description, "@description", :default_value => ""
|
12
|
+
text_node :_description, "@_description", :default_value => ""
|
13
|
+
length_node :width, "@width", :default_value => nil
|
14
|
+
length_node :height, "@height", :default_value => nil
|
15
|
+
|
16
|
+
#TODO this could be cleaner, but I'm not sure how yet
|
17
|
+
hash_node :labelRectangles, "Label-rectangle", "@id", :class => LabelRectangle, :default_value => nil
|
18
|
+
hash_node :labelRounds, "Label-round", "@id", :class => LabelRound, :default_value => nil
|
19
|
+
hash_node :labelCDs, "Label-cd", "@id", :class => LabelCD, :default_value => nil
|
20
|
+
|
21
|
+
hash_node :alias, "Alias", "@name", :class => Alias, :default_value => Hash.new
|
22
|
+
|
23
|
+
def initialize
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
def labels
|
28
|
+
@labels = Hash.new
|
29
|
+
@labels = @labels.merge @labelRectangles
|
30
|
+
@labels = @labels.merge @labelRounds
|
31
|
+
@labels = @labels.merge @labelCDs
|
32
|
+
@labels
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
|
@@ -0,0 +1,222 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<Glabels-templates>
|
3
|
+
|
4
|
+
|
5
|
+
<!-- ******************************************************************** -->
|
6
|
+
<!-- Avery A4 products (and look-alikes) -->
|
7
|
+
<!-- ******************************************************************** -->
|
8
|
+
|
9
|
+
<!-- =================================================================== -->
|
10
|
+
<!-- Avery 7160 family: Mailing labels, 63.5 x 38.1 mm, 21 per sheet -->
|
11
|
+
<!-- =================================================================== -->
|
12
|
+
<Template name="Avery 7160" size="A4" _description="Mailing labels">
|
13
|
+
<Label-rectangle id="0" width="181.4" height="108.0" round="5">
|
14
|
+
<Markup-margin size="5"/>
|
15
|
+
<Layout nx="3" ny="7" x0="21.2" y0="43.9" dx="187.2" dy="108.0"/>
|
16
|
+
</Label-rectangle>
|
17
|
+
<Alias name="Avery L7160"/>
|
18
|
+
<Alias name="Avery J8160"/>
|
19
|
+
<Alias name="DECAdry DLW-1731"/>
|
20
|
+
<Alias name="DECAdry OLW-4731"/>
|
21
|
+
<Alias name="DECAdry OLW-7131"/>
|
22
|
+
</Template>
|
23
|
+
|
24
|
+
<!-- =================================================================== -->
|
25
|
+
<!-- Avery 7161 family: Mailing labels, 63.5 x 46.6 mm, 18 per sheet -->
|
26
|
+
<!-- =================================================================== -->
|
27
|
+
<Template name="Avery 7161" size="A4" _description="Mailing labels">
|
28
|
+
<Label-rectangle id="0" width="180.2" height="132.6" round="7">
|
29
|
+
<Markup-margin size="5"/>
|
30
|
+
<Layout nx="3" ny="6" x0="21" y0="23" dx="186.9" dy="132.5"/>
|
31
|
+
</Label-rectangle>
|
32
|
+
<Alias name="Avery L7161"/>
|
33
|
+
<Alias name="Avery J8161"/>
|
34
|
+
</Template>
|
35
|
+
|
36
|
+
<!-- ================================================================== -->
|
37
|
+
<!-- Avery 7162 family: Mailing labels, 99.1 x 33.9 mm, 16 per sheet -->
|
38
|
+
<!-- ================================================================== -->
|
39
|
+
<Template name="Avery 7162" size="A4" _description="Mailing labels">
|
40
|
+
<Label-rectangle id="0" width="280.9" height="96.1" round="5">
|
41
|
+
<Markup-margin size="5"/>
|
42
|
+
<Layout nx="2" ny="8" x0="11.3" y0="36.8" dx="290.5" dy="96.1"/>
|
43
|
+
</Label-rectangle>
|
44
|
+
<Alias name="Avery L7162"/>
|
45
|
+
</Template>
|
46
|
+
|
47
|
+
<!-- =================================================================== -->
|
48
|
+
<!-- Avery 7163 family: Mailing labels, 99.1 x 38.1 mm, 14 per sheet -->
|
49
|
+
<!-- =================================================================== -->
|
50
|
+
<Template name="Avery 7163" size="A4" _description="Mailing labels">
|
51
|
+
<Label-rectangle id="0" width="280.9" height="108" round="5">
|
52
|
+
<Markup-margin size="5"/>
|
53
|
+
<Layout nx="2" ny="7" x0="9.5" y0="43" dx="292" dy="108"/>
|
54
|
+
</Label-rectangle>
|
55
|
+
<Alias name="Avery L7163"/>
|
56
|
+
</Template>
|
57
|
+
|
58
|
+
<!-- =================================================================== -->
|
59
|
+
<!-- Avery 7164 family: Address labels, 63.50 x 71.98 mm, 12 per sheet -->
|
60
|
+
<!-- =================================================================== -->
|
61
|
+
<Template name="Avery 7164" size="A4" _description="Address labels">
|
62
|
+
<Label-rectangle id="0" width="180" height="204.038" round="8.5">
|
63
|
+
<Markup-margin size="5"/>
|
64
|
+
<Layout nx="3" ny="4" x0="20.84" y0="10" dx="187.08" dy="204.038"/>
|
65
|
+
</Label-rectangle>
|
66
|
+
<Alias name="Avery J8164"/>
|
67
|
+
<Alias name="Avery L7164"/>
|
68
|
+
<Alias name="Biltema 23-756"/>
|
69
|
+
</Template>
|
70
|
+
|
71
|
+
<!-- =================================================================== -->
|
72
|
+
<!-- Avery 7165 family: Address labels -->
|
73
|
+
<!-- =================================================================== -->
|
74
|
+
<Template name="Avery 7165" size="A4" description="Address Labels">
|
75
|
+
<Label-rectangle id="0" width="280.8pt" height="191.991pt" round="0pt" waste="0pt">
|
76
|
+
<Markup-margin size="5.66929pt"/>
|
77
|
+
<Layout nx="2" ny="4" x0="13.2378pt" y0="36.9638pt" dx="288.113pt" dy="191.991pt"/>
|
78
|
+
</Label-rectangle>
|
79
|
+
<Alias name="Avery J8165"/>
|
80
|
+
<Alias name="Avery L7165"/>
|
81
|
+
</Template>
|
82
|
+
|
83
|
+
<!-- =================================================================== -->
|
84
|
+
<!-- Avery 7169 family: shipping labels, 99.1 x 139.0 mm, 4 per sheet -->
|
85
|
+
<!-- =================================================================== -->
|
86
|
+
<Template name="Avery 7169" size="A4" _description="Shipping labels">
|
87
|
+
<Label-rectangle id="0" width="280.9" height="394.0" round="6">
|
88
|
+
<Markup-margin size="6"/>
|
89
|
+
<Layout nx="2" ny="2" x0="14.2" y0="20.0" dx="287.7" dy="394.0"/>
|
90
|
+
</Label-rectangle>
|
91
|
+
<Alias name="Avery L7169"/>
|
92
|
+
</Template>
|
93
|
+
|
94
|
+
<!-- =================================================================== -->
|
95
|
+
<!-- Avery 7414 family: Business Cards, 52mm x 90mm, 10 per sheet -->
|
96
|
+
<!-- =================================================================== -->
|
97
|
+
<Template name="Avery 7414" size="A4" _description="Business Cards">
|
98
|
+
<Label-rectangle id="0" width="255.1" height="147.4" round="0">
|
99
|
+
<Markup-margin size="5"/>
|
100
|
+
<Layout nx="2" ny="5" x0="42.51" y0="52.44" dx="255.1" dy="147.4"/>
|
101
|
+
</Label-rectangle>
|
102
|
+
<Alias name="Avery L7414"/>
|
103
|
+
</Template>
|
104
|
+
|
105
|
+
<!-- =================================================================== -->
|
106
|
+
<!-- Avery 7664 family: Diskette Labels, 70mm x 71.9 mm, 8 per sheet -->
|
107
|
+
<!-- =================================================================== -->
|
108
|
+
<Template name="Avery 7664" size="A4" description="Diskette Labels">
|
109
|
+
<Label-rectangle id="0" width="70mm" height="71.9mm" round="2.5mm">
|
110
|
+
<Markup-margin size="5"/>
|
111
|
+
<Layout nx="2" ny="4" x0="17mm" y0="5mm" dx="104.5mm" dy="72mm"/>
|
112
|
+
</Label-rectangle>
|
113
|
+
<Alias name="Avery L7664"/>
|
114
|
+
</Template>
|
115
|
+
|
116
|
+
<!-- =================================================================== -->
|
117
|
+
<!-- Avery 8414 family: Business Cards, 50.8 x 87.0 mm, 10 per sheet -->
|
118
|
+
<!-- =================================================================== -->
|
119
|
+
<Template name="Avery 8414" size="A4" _description="Business Cards">
|
120
|
+
<Label-rectangle id="0" width="246.6" height="144" round="0">
|
121
|
+
<Markup-margin size="5"/>
|
122
|
+
<Layout nx="2" ny="5" x0="42" y0="57.890" dx="264" dy="144"/>
|
123
|
+
</Label-rectangle>
|
124
|
+
<Alias name="Avery J8414"/>
|
125
|
+
</Template>
|
126
|
+
|
127
|
+
<!-- =============================================================== -->
|
128
|
+
<!-- Avery J8435: CD Inlets Booklet part -->
|
129
|
+
<!-- =============================================================== -->
|
130
|
+
<Template name="Avery 8435A" size="A4" _description="CD Booklet">
|
131
|
+
<Label-rectangle id="0" width="155mm" height="125mm" round="0">
|
132
|
+
<Markup-margin size="2mm"/>
|
133
|
+
<Markup-line x1="32mm" y1="0mm" x2="32mm" y2="125mm"/>
|
134
|
+
<Layout nx="1" ny="1" x0="27.5mm" y0="22mm" dx="155mm" dy="125mm"/>
|
135
|
+
</Label-rectangle>
|
136
|
+
<Alias name="Avery J8435A"/>
|
137
|
+
<Alias name="Avery 32250A"/>
|
138
|
+
<Alias name="Zweckform 32250A"/>
|
139
|
+
<Alias name="Zweckform J8435A"/>
|
140
|
+
</Template>
|
141
|
+
|
142
|
+
<!-- =============================================================== -->
|
143
|
+
<!-- Avery J8435: CD Inlets Inlet part -->
|
144
|
+
<!-- =============================================================== -->
|
145
|
+
<Template name="Avery 8435B" size="A4" _description="CD Inlet">
|
146
|
+
<Label-rectangle id="0" width="155mm" height="122mm" round="0">
|
147
|
+
<Markup-margin size="2mm"/>
|
148
|
+
<Markup-line x1="8.5mm" y1="0mm" x2="8.5mm" y2="122mm"/>
|
149
|
+
<Markup-line x1="146.5mm" y1="0mm" x2="146.5mm" y2="122mm"/>
|
150
|
+
<Layout nx="1" ny="1" x0="27.5mm" y0="21mm" dx="155mm" dy="122mm"/>
|
151
|
+
</Label-rectangle>
|
152
|
+
<Alias name="Avery J8435B"/>
|
153
|
+
<Alias name="Avery 32250B"/>
|
154
|
+
<Alias name="Zweckform 32250B"/>
|
155
|
+
<Alias name="Zweckform J8435B"/>
|
156
|
+
</Template>
|
157
|
+
|
158
|
+
<!-- =================================================================== -->
|
159
|
+
<!-- Avery 8651 family: Mailing labels, 38.1 x 21.2 mm, 65 per sheet -->
|
160
|
+
<!-- =================================================================== -->
|
161
|
+
<Template name="Avery 8651" size="A4" _description="Mini Address Labels">
|
162
|
+
<Label-rectangle id="0" width="108" height="60.09" round="5">
|
163
|
+
<Markup-margin size="5"/>
|
164
|
+
<Layout nx="5" ny="13" x0="13.32" y0="30.90" dx="115.09" dy="60.09"/>
|
165
|
+
</Label-rectangle>
|
166
|
+
<Alias name="Avery L8651"/>
|
167
|
+
<Alias name="Avery J8651"/>
|
168
|
+
<Alias name="Avery J8551"/>
|
169
|
+
<Alias name="Avery L7651"/>
|
170
|
+
<Alias name="Avery L7551"/>
|
171
|
+
</Template>
|
172
|
+
|
173
|
+
<!-- =================================================================== -->
|
174
|
+
<!-- Avery 8666 family: Diskette labels (face only), 70 x 52 mm, 10 per -->
|
175
|
+
<!-- =================================================================== -->
|
176
|
+
<Template name="Avery 8666" size="A4" _description="Diskette labels">
|
177
|
+
<Label-rectangle id="0" width="198.4" height="147.4" round="5">
|
178
|
+
<Markup-margin size="5"/>
|
179
|
+
<Layout nx="2" ny="5" x0="66" y0="53" dx="264" dy="147"/>
|
180
|
+
</Label-rectangle>
|
181
|
+
<Alias name="Avery J8666"/>
|
182
|
+
</Template>
|
183
|
+
|
184
|
+
<!-- =============================================================== -->
|
185
|
+
<!-- Avery J8676A: CD/DVD Labels 2 per sheet -->
|
186
|
+
<!-- =============================================================== -->
|
187
|
+
<Template name="Avery 8676" size="A4" _description="CD/DVD Labels">
|
188
|
+
<Label-cd id="0" radius="166.5" hole="17" waste="5">
|
189
|
+
<Markup-margin size="5"/>
|
190
|
+
<Layout nx="1" ny="2" x0="130" y0="59.5" dx="0" dy="388"/>
|
191
|
+
</Label-cd>
|
192
|
+
<Alias name="Avery J8676"/>
|
193
|
+
</Template>
|
194
|
+
|
195
|
+
<!-- =============================================================== -->
|
196
|
+
<!-- Avery 18036 Mailing Labels, 70mm x 32mm, 27 per sheet -->
|
197
|
+
<!-- =============================================================== -->
|
198
|
+
<Template name="Avery 18036" size="A4" _description="Mailing Labels">
|
199
|
+
<Label-rectangle id="0" width="198" height="91" round="0">
|
200
|
+
<Markup-margin size="10"/>
|
201
|
+
<Layout nx="3" ny="9" x0="0" y0="13" dx="198" dy="91"/>
|
202
|
+
</Label-rectangle>
|
203
|
+
</Template>
|
204
|
+
|
205
|
+
<!-- ============================================================ -->
|
206
|
+
<!-- Avery 32015: Business Cards -->
|
207
|
+
<!-- ============================================================ -->
|
208
|
+
<Template name="Avery 32015" size="A4" _description="Business Cards">
|
209
|
+
<Label-rectangle id="0" width="85mm" height="54mm" round="0mm">
|
210
|
+
<Markup-margin size="5mm"/>
|
211
|
+
<Layout nx="2" ny="4" x0="17mm" y0="31.5mm" dx="91mm" dy="60mm"/>
|
212
|
+
</Label-rectangle>
|
213
|
+
<Alias name="Avery C32015"/>
|
214
|
+
<Alias name="Zwekform 32015"/>
|
215
|
+
</Template>
|
216
|
+
|
217
|
+
|
218
|
+
</Glabels-templates>
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|