hpdf 2.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/History +57 -0
- data/License +25 -0
- data/README +165 -0
- data/examples/arc_demo.rb +82 -0
- data/examples/demo.rb +92 -0
- data/examples/encryption.rb +41 -0
- data/examples/ext_gstater_demo.rb +171 -0
- data/examples/font_demo.rb +67 -0
- data/examples/jpfont_demo.rb +122 -0
- data/examples/line_demo.rb +301 -0
- data/examples/slide_show_demo.rb +139 -0
- data/examples/text_demo2.rb +189 -0
- data/examples/ttfont_demo.rb +106 -0
- data/ext/extconf.rb +6 -0
- data/ext/hpdf.c +3779 -0
- data/ext/hpdf_annotation.c +415 -0
- data/ext/hpdf_array.c +344 -0
- data/ext/hpdf_binary.c +117 -0
- data/ext/hpdf_boolean.c +47 -0
- data/ext/hpdf_catalog.c +354 -0
- data/ext/hpdf_destination.c +339 -0
- data/ext/hpdf_dict.c +488 -0
- data/ext/hpdf_doc.c +2020 -0
- data/ext/hpdf_doc_png.c +137 -0
- data/ext/hpdf_encoder.c +2991 -0
- data/ext/hpdf_encoder_cns.c +36359 -0
- data/ext/hpdf_encoder_cnt.c +15307 -0
- data/ext/hpdf_encoder_jp.c +16125 -0
- data/ext/hpdf_encoder_kr.c +27978 -0
- data/ext/hpdf_encrypt.c +632 -0
- data/ext/hpdf_encryptdict.c +240 -0
- data/ext/hpdf_error.c +114 -0
- data/ext/hpdf_ext_gstate.c +150 -0
- data/ext/hpdf_font.c +229 -0
- data/ext/hpdf_font_cid.c +1030 -0
- data/ext/hpdf_font_tt.c +406 -0
- data/ext/hpdf_font_type1.c +391 -0
- data/ext/hpdf_fontdef.c +56 -0
- data/ext/hpdf_fontdef_base14.c +4506 -0
- data/ext/hpdf_fontdef_cid.c +194 -0
- data/ext/hpdf_fontdef_cns.c +471 -0
- data/ext/hpdf_fontdef_cnt.c +250 -0
- data/ext/hpdf_fontdef_jp.c +1904 -0
- data/ext/hpdf_fontdef_kr.c +1572 -0
- data/ext/hpdf_fontdef_tt.c +2230 -0
- data/ext/hpdf_fontdef_type1.c +524 -0
- data/ext/hpdf_gstate.c +119 -0
- data/ext/hpdf_image.c +568 -0
- data/ext/hpdf_image_png.c +424 -0
- data/ext/hpdf_info.c +164 -0
- data/ext/hpdf_list.c +333 -0
- data/ext/hpdf_mmgr.c +243 -0
- data/ext/hpdf_name.c +71 -0
- data/ext/hpdf_null.c +31 -0
- data/ext/hpdf_number.c +49 -0
- data/ext/hpdf_objects.c +172 -0
- data/ext/hpdf_outline.c +329 -0
- data/ext/hpdf_page_label.c +74 -0
- data/ext/hpdf_page_operator.c +2764 -0
- data/ext/hpdf_pages.c +1508 -0
- data/ext/hpdf_real.c +61 -0
- data/ext/hpdf_streams.c +1435 -0
- data/ext/hpdf_string.c +189 -0
- data/ext/hpdf_utils.c +438 -0
- data/ext/hpdf_xref.c +348 -0
- data/ext/include/hpdf.h +1227 -0
- data/ext/include/hpdf_annotation.h +74 -0
- data/ext/include/hpdf_catalog.h +81 -0
- data/ext/include/hpdf_conf.h +76 -0
- data/ext/include/hpdf_consts.h +549 -0
- data/ext/include/hpdf_destination.h +41 -0
- data/ext/include/hpdf_doc.h +159 -0
- data/ext/include/hpdf_encoder.h +311 -0
- data/ext/include/hpdf_encrypt.h +156 -0
- data/ext/include/hpdf_encryptdict.h +66 -0
- data/ext/include/hpdf_error.h +201 -0
- data/ext/include/hpdf_ext_gstate.h +38 -0
- data/ext/include/hpdf_font.h +112 -0
- data/ext/include/hpdf_fontdef.h +403 -0
- data/ext/include/hpdf_gstate.h +80 -0
- data/ext/include/hpdf_image.h +72 -0
- data/ext/include/hpdf_info.h +48 -0
- data/ext/include/hpdf_list.h +85 -0
- data/ext/include/hpdf_mmgr.h +82 -0
- data/ext/include/hpdf_objects.h +587 -0
- data/ext/include/hpdf_outline.h +74 -0
- data/ext/include/hpdf_page_label.h +35 -0
- data/ext/include/hpdf_pages.h +128 -0
- data/ext/include/hpdf_streams.h +276 -0
- data/ext/include/hpdf_types.h +488 -0
- data/ext/include/hpdf_utils.h +161 -0
- data/tests/arc_demo.rb +82 -0
- data/tests/demo.rb +91 -0
- data/tests/encryption.rb +41 -0
- data/tests/ext_gstater_demo.rb +171 -0
- data/tests/font_demo.rb +67 -0
- data/tests/line_demo.rb +301 -0
- data/tests/slide_show_demo.rb +139 -0
- data/tests/test_all_examples.rb +31 -0
- data/tests/text_demo2.rb +189 -0
- metadata +147 -0
@@ -0,0 +1,139 @@
|
|
1
|
+
#
|
2
|
+
# << Haru Free PDF Library 2.0.6 >> -- slideshow_demo.rb
|
3
|
+
#
|
4
|
+
# http://libharu.sourceforge.net/
|
5
|
+
#
|
6
|
+
# Copyright (c) 1999-2006 Takeshi Kanno
|
7
|
+
#
|
8
|
+
# Permission to use, copy, modify, distribute and sell this software
|
9
|
+
# and its documentation for any purpose is hereby granted without fee,
|
10
|
+
# provided that the above copyright notice appear in all copies and
|
11
|
+
# that both that copyright notice and this permission notice appear
|
12
|
+
# in supporting documentation.
|
13
|
+
# It is provided "as is" without express or implied warranty.
|
14
|
+
#
|
15
|
+
require 'rubygems'
|
16
|
+
require "hpdf"
|
17
|
+
|
18
|
+
RAND_MAX = 255
|
19
|
+
|
20
|
+
def print_page(page, caption, font, style, prev, next_p)
|
21
|
+
|
22
|
+
r = rand
|
23
|
+
g = rand
|
24
|
+
b = rand
|
25
|
+
|
26
|
+
page.set_width(800)
|
27
|
+
page.set_height(600)
|
28
|
+
|
29
|
+
page.set_rgb_fill(r, g, b)
|
30
|
+
page.rectangle(0, 0, 800, 600)
|
31
|
+
page.fill()
|
32
|
+
|
33
|
+
page.set_rgb_fill(1 - r, 1 - b, 1 - b)
|
34
|
+
page.set_font_and_size(font, 30)
|
35
|
+
|
36
|
+
page.begin_text()
|
37
|
+
page.set_text_matrix(0.8, 0.0, 0.0, 1.0, 0.0, 0.0);
|
38
|
+
page.text_out(50, 530, caption)
|
39
|
+
|
40
|
+
page.set_text_matrix(1.0, 0.0, 0.0, 1.0, 0.0, 0.0);
|
41
|
+
page.set_font_and_size(font, 20)
|
42
|
+
page.text_out(55, 300, "Type \"Ctrl+L\" in order to return from full screen mode.")
|
43
|
+
page.end_text()
|
44
|
+
|
45
|
+
page.set_slide_show(style, 5, 1)
|
46
|
+
page.set_font_and_size(font, 20)
|
47
|
+
|
48
|
+
if (next_p != nil)
|
49
|
+
page.begin_text()
|
50
|
+
page.text_out(680, 50, "Next=>")
|
51
|
+
page.end_text()
|
52
|
+
|
53
|
+
dst = next_p.create_destination()
|
54
|
+
dst.set_fit()
|
55
|
+
annot = page.create_link_annot(680, 50, 680, 70, dst)
|
56
|
+
annot.set_border_style(0, 0, 0)
|
57
|
+
annot.set_highlight_mode(HPDFDoc::HPDF_ANNOT_INVERT_BOX)
|
58
|
+
end
|
59
|
+
|
60
|
+
if (prev != nil)
|
61
|
+
page.begin_text()
|
62
|
+
page.text_out(50, 50, "<=Prev")
|
63
|
+
page.end_text()
|
64
|
+
|
65
|
+
dst = prev.create_destination()
|
66
|
+
dst.set_fit()
|
67
|
+
annot = page.create_link_annot(50, 50, 110, 70, dst)
|
68
|
+
annot.set_border_style(0, 0, 0)
|
69
|
+
annot.set_highlight_mode(HPDFDoc::HPDF_ANNOT_INVERT_BOX)
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
73
|
+
|
74
|
+
|
75
|
+
pdf = HPDFDoc.new
|
76
|
+
|
77
|
+
font = pdf.get_font("Courier", nil)
|
78
|
+
page_0 = pdf.add_page()
|
79
|
+
page_1 = pdf.add_page()
|
80
|
+
page_2 = pdf.add_page()
|
81
|
+
page_3 = pdf.add_page()
|
82
|
+
page_4 = pdf.add_page()
|
83
|
+
page_5 = pdf.add_page()
|
84
|
+
page_6 = pdf.add_page()
|
85
|
+
page_7 = pdf.add_page()
|
86
|
+
page_8 = pdf.add_page()
|
87
|
+
page_9 = pdf.add_page()
|
88
|
+
page_10 = pdf.add_page()
|
89
|
+
page_11 = pdf.add_page()
|
90
|
+
page_12 = pdf.add_page()
|
91
|
+
page_13 = pdf.add_page()
|
92
|
+
page_14 = pdf.add_page()
|
93
|
+
page_15 = pdf.add_page()
|
94
|
+
page_16 = pdf.add_page()
|
95
|
+
|
96
|
+
print_page(page_0, "HPDFDoc::HPDF_TS_WIPE_RIGHT", font,
|
97
|
+
HPDFDoc::HPDF_TS_WIPE_RIGHT, nil, page_1);
|
98
|
+
print_page(page_1, "HPDFDoc::HPDF_TS_WIPE_UP", font,
|
99
|
+
HPDFDoc::HPDF_TS_WIPE_UP, page_0, page_2);
|
100
|
+
print_page(page_2, "HPDFDoc::HPDF_TS_WIPE_LEFT", font,
|
101
|
+
HPDFDoc::HPDF_TS_WIPE_LEFT, page_1, page_3);
|
102
|
+
print_page(page_3, "HPDFDoc::HPDF_TS_WIPE_DOWN", font,
|
103
|
+
HPDFDoc::HPDF_TS_WIPE_DOWN, page_2, page_4);
|
104
|
+
print_page(page_4, "HPDFDoc::HPDF_TS_BARN_DOORS_HORIZONTAL_OUT", font,
|
105
|
+
HPDFDoc::HPDF_TS_BARN_DOORS_HORIZONTAL_OUT, page_3, page_5);
|
106
|
+
print_page(page_5, "HPDFDoc::HPDF_TS_BARN_DOORS_HORIZONTAL_IN", font,
|
107
|
+
HPDFDoc::HPDF_TS_BARN_DOORS_HORIZONTAL_IN, page_4, page_6);
|
108
|
+
print_page(page_6, "HPDFDoc::HPDF_TS_BARN_DOORS_VERTICAL_OUT", font,
|
109
|
+
HPDFDoc::HPDF_TS_BARN_DOORS_VERTICAL_OUT, page_5, page_7);
|
110
|
+
print_page(page_7, "HPDFDoc::HPDF_TS_BARN_DOORS_VERTICAL_IN", font,
|
111
|
+
HPDFDoc::HPDF_TS_BARN_DOORS_VERTICAL_IN, page_6, page_8);
|
112
|
+
print_page(page_8, "HPDFDoc::HPDF_TS_BOX_OUT", font,
|
113
|
+
HPDFDoc::HPDF_TS_BOX_OUT, page_7, page_9);
|
114
|
+
print_page(page_9, "HPDFDoc::HPDF_TS_BOX_IN", font,
|
115
|
+
HPDFDoc::HPDF_TS_BOX_IN, page_8, page_10);
|
116
|
+
print_page(page_10, "HPDFDoc::HPDF_TS_BLINDS_HORIZONTAL", font,
|
117
|
+
HPDFDoc::HPDF_TS_BLINDS_HORIZONTAL, page_9, page_11);
|
118
|
+
print_page(page_11, "HPDFDoc::HPDF_TS_BLINDS_VERTICAL", font,
|
119
|
+
HPDFDoc::HPDF_TS_BLINDS_VERTICAL, page_10, page_12);
|
120
|
+
print_page(page_12, "HPDFDoc::HPDF_TS_DISSOLVE", font,
|
121
|
+
HPDFDoc::HPDF_TS_DISSOLVE, page_11, page_13);
|
122
|
+
print_page(page_13, "HPDFDoc::HPDF_TS_GLITTER_RIGHT", font,
|
123
|
+
HPDFDoc::HPDF_TS_GLITTER_RIGHT, page_12, page_14);
|
124
|
+
print_page(page_14, "HPDFDoc::HPDF_TS_GLITTER_DOWN", font,
|
125
|
+
HPDFDoc::HPDF_TS_GLITTER_DOWN, page_13, page_15);
|
126
|
+
print_page(page_15, "HPDFDoc::HPDF_TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT", font,
|
127
|
+
HPDFDoc::HPDF_TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT, page_14, page_16);
|
128
|
+
print_page(page_16, "HPDFDoc::HPDF_TS_REPLACE", font,
|
129
|
+
HPDFDoc::HPDF_TS_REPLACE, page_15, nil);
|
130
|
+
|
131
|
+
pdf.set_page_mode(HPDFDoc::HPDF_PAGE_MODE_FULL_SCREEN)
|
132
|
+
|
133
|
+
if $demo_output_filename
|
134
|
+
file_name= $demo_output_filename
|
135
|
+
else
|
136
|
+
file_name= $0 + ".pdf"
|
137
|
+
end
|
138
|
+
|
139
|
+
pdf.save_to_file(file_name)
|
@@ -0,0 +1,189 @@
|
|
1
|
+
#
|
2
|
+
# << Haru Free PDF Library 2.0.0 >> -- text_demo2.rb
|
3
|
+
#
|
4
|
+
# Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
|
5
|
+
#
|
6
|
+
# Permission to use, copy, modify, distribute and sell this software
|
7
|
+
# and its documentation for any purpose is hereby granted without fee,
|
8
|
+
# provided that the above copyright notice appear in all copies and
|
9
|
+
# that both that copyright notice and this permission notice appear
|
10
|
+
# in supporting documentation.
|
11
|
+
# It is provided "as is" without express or implied warranty.
|
12
|
+
#
|
13
|
+
require 'rubygems'
|
14
|
+
require "hpdf"
|
15
|
+
|
16
|
+
samp_text = "The quick brown fox jumps over the lazy dog. "
|
17
|
+
|
18
|
+
pdf = HPDFDoc.new
|
19
|
+
|
20
|
+
page = pdf.add_page
|
21
|
+
page.set_size(HPDFDoc::HPDF_PAGE_SIZE_A5, HPDFDoc::HPDF_PAGE_PORTRAIT)
|
22
|
+
height = page.get_height
|
23
|
+
|
24
|
+
font = pdf.get_font("Helvetica", nil)
|
25
|
+
page.set_text_leading(20)
|
26
|
+
|
27
|
+
# HPDF_TALIGN_LEFT
|
28
|
+
left = 25
|
29
|
+
top = 545
|
30
|
+
right = 200
|
31
|
+
bottom = top - 40
|
32
|
+
|
33
|
+
page.rectangle(left, bottom, right - left, top - bottom)
|
34
|
+
page.stroke
|
35
|
+
|
36
|
+
page.begin_text
|
37
|
+
page.set_font_and_size(font, 10)
|
38
|
+
page.text_out(left, top + 3, "HPDF_TALIGN_LEFT")
|
39
|
+
|
40
|
+
page.set_font_and_size(font, 13)
|
41
|
+
page.text_rect(left, top, right, bottom, samp_text, HPDFDoc::HPDF_TALIGN_LEFT)
|
42
|
+
page.end_text
|
43
|
+
|
44
|
+
# HPDF_TALIGN_RIGHT
|
45
|
+
left = 220
|
46
|
+
right = 395
|
47
|
+
|
48
|
+
page.rectangle(left, bottom, right - left, top - bottom)
|
49
|
+
page.stroke
|
50
|
+
|
51
|
+
page.begin_text
|
52
|
+
page.set_font_and_size(font, 10)
|
53
|
+
page.text_out(left, top + 3, "HPDF_TALIGN_RIGHT")
|
54
|
+
|
55
|
+
page.set_font_and_size(font, 13)
|
56
|
+
page.text_rect(left, top, right, bottom, samp_text, HPDFDoc::HPDF_TALIGN_RIGHT)
|
57
|
+
page.end_text
|
58
|
+
|
59
|
+
# HPDF_TALIGN_CENTER
|
60
|
+
left = 25
|
61
|
+
top = 475
|
62
|
+
right = 200
|
63
|
+
bottom = top - 40
|
64
|
+
|
65
|
+
page.rectangle(left, bottom, right - left, top - bottom)
|
66
|
+
page.stroke
|
67
|
+
|
68
|
+
page.begin_text
|
69
|
+
page.set_font_and_size(font, 10)
|
70
|
+
page.text_out(left, top + 3, "HPDF_TALIGN_CENTER")
|
71
|
+
|
72
|
+
page.set_font_and_size(font, 13)
|
73
|
+
page.text_rect(left, top, right, bottom, samp_text, HPDFDoc::HPDF_TALIGN_CENTER)
|
74
|
+
page.end_text
|
75
|
+
|
76
|
+
# HPDF_TALIGN_JUSTIFY
|
77
|
+
left = 220
|
78
|
+
right = 395
|
79
|
+
|
80
|
+
page.rectangle(left, bottom, right - left, top - bottom)
|
81
|
+
page.stroke
|
82
|
+
|
83
|
+
page.begin_text
|
84
|
+
page.set_font_and_size(font, 10)
|
85
|
+
page.text_out(left, top + 3, "HPDF_TALIGN_JUSTIFY")
|
86
|
+
|
87
|
+
page.set_font_and_size(font, 13)
|
88
|
+
page.text_rect(left, top, right, bottom, samp_text, HPDFDoc::HPDF_TALIGN_JUSTIFY)
|
89
|
+
page.end_text
|
90
|
+
|
91
|
+
|
92
|
+
# Skewed coordinate system
|
93
|
+
|
94
|
+
angle1 = 5.0
|
95
|
+
angle2 = 10.0
|
96
|
+
rad1 = angle1 / 180 * 3.141592
|
97
|
+
rad2 = angle2 / 180 * 3.141592
|
98
|
+
|
99
|
+
page.gsave
|
100
|
+
|
101
|
+
page.concat(1, Math.tan(rad1), Math.tan(rad2), 1, 25, 350)
|
102
|
+
left = 0
|
103
|
+
top = 40
|
104
|
+
right = 175
|
105
|
+
bottom = 0
|
106
|
+
|
107
|
+
page.rectangle(left, bottom, right - left,
|
108
|
+
top - bottom)
|
109
|
+
page.stroke
|
110
|
+
|
111
|
+
page.begin_text
|
112
|
+
|
113
|
+
page.set_font_and_size(font, 10)
|
114
|
+
page.text_out(left, top + 3, "Skewed coordinate system")
|
115
|
+
|
116
|
+
page.set_font_and_size(font, 13)
|
117
|
+
page.text_rect(left, top, right, bottom, samp_text, HPDFDoc::HPDF_TALIGN_LEFT)
|
118
|
+
|
119
|
+
page.end_text
|
120
|
+
|
121
|
+
page.grestore
|
122
|
+
|
123
|
+
|
124
|
+
# Rotated coordinate system
|
125
|
+
page.gsave
|
126
|
+
|
127
|
+
angle1 = 5.0
|
128
|
+
rad1 = angle1 / 180 * 3.141592
|
129
|
+
|
130
|
+
page.concat(Math.cos(rad1), Math.sin(rad1), -Math.sin(rad1), Math.cos(rad1), 220, 350)
|
131
|
+
left = 0
|
132
|
+
top = 40
|
133
|
+
right = 175
|
134
|
+
bottom = 0
|
135
|
+
|
136
|
+
page.rectangle(left, bottom, right - left,
|
137
|
+
top - bottom)
|
138
|
+
page.stroke
|
139
|
+
|
140
|
+
page.begin_text
|
141
|
+
|
142
|
+
page.set_font_and_size(font, 10)
|
143
|
+
page.text_out(left, top + 3, "Rotated coordinate system")
|
144
|
+
|
145
|
+
page.set_font_and_size(font, 13)
|
146
|
+
page.text_rect(left, top, right, bottom, samp_text, HPDFDoc::HPDF_TALIGN_LEFT)
|
147
|
+
|
148
|
+
page.end_text
|
149
|
+
|
150
|
+
page.grestore
|
151
|
+
|
152
|
+
|
153
|
+
# text along a circle
|
154
|
+
page.set_gray_stroke(0)
|
155
|
+
page.circle(210, 190, 145)
|
156
|
+
page.circle(210, 190, 113)
|
157
|
+
page.stroke
|
158
|
+
|
159
|
+
angle1 = 360.0 / samp_text.length
|
160
|
+
angle2 = 180.0
|
161
|
+
|
162
|
+
page.begin_text
|
163
|
+
font = pdf.get_font("Courier-Bold", nil)
|
164
|
+
page.set_font_and_size(font, 30)
|
165
|
+
|
166
|
+
i = 0
|
167
|
+
while i < samp_text.length
|
168
|
+
rad1 = (angle2 - 90) / 180 * 3.141592
|
169
|
+
rad2 = angle2 / 180 * 3.141592
|
170
|
+
|
171
|
+
x = 210.0 + Math.cos(rad2) * 122
|
172
|
+
y = 190.0 + Math.sin(rad2) * 122
|
173
|
+
|
174
|
+
page.set_text_matrix(Math.cos(rad1), Math.sin(rad1), -Math.sin(rad1), Math.cos(rad1), x, y)
|
175
|
+
|
176
|
+
page.show_text(samp_text[i, 1])
|
177
|
+
angle2 -= angle1
|
178
|
+
i = i + 1
|
179
|
+
end
|
180
|
+
|
181
|
+
page.end_text
|
182
|
+
|
183
|
+
if $demo_output_filename
|
184
|
+
file_name= $demo_output_filename
|
185
|
+
else
|
186
|
+
file_name= $0 + ".pdf"
|
187
|
+
end
|
188
|
+
|
189
|
+
pdf.save_to_file(file_name)
|
@@ -0,0 +1,106 @@
|
|
1
|
+
#
|
2
|
+
# << Haru Free PDF Library 2.0.2 >> -- ttfont_demo.rb
|
3
|
+
#
|
4
|
+
# http://libharu.sourceforge.net/
|
5
|
+
#
|
6
|
+
# Copyright (c) 1999-2006 Takeshi Kanno
|
7
|
+
#
|
8
|
+
# Permission to use, copy, modify, distribute and sell this software
|
9
|
+
# and its documentation for any purpose is hereby granted without fee,
|
10
|
+
# provided that the above copyright notice appear in all copies and
|
11
|
+
# that both that copyright notice and this permission notice appear
|
12
|
+
# in supporting documentation.
|
13
|
+
# It is provided "as is" without express or implied warranty.
|
14
|
+
#
|
15
|
+
require 'rubygems'
|
16
|
+
require "hpdf"
|
17
|
+
|
18
|
+
SAMP_TXT = "The quick brown fox jumps over the lazy dog."
|
19
|
+
|
20
|
+
font_name = ARGV.shift
|
21
|
+
flg = ARGV.shift
|
22
|
+
|
23
|
+
if !font_name
|
24
|
+
print 'usage: ttfont_demo.rb [path to font file] -E(embedding font).'
|
25
|
+
exit(1)
|
26
|
+
end
|
27
|
+
|
28
|
+
pdf = HPDFDoc.new
|
29
|
+
|
30
|
+
pdf.set_compression_mode(HPDFDoc::HPDF_COMP_ALL)
|
31
|
+
|
32
|
+
# Add a new page object. #
|
33
|
+
page = pdf.add_page
|
34
|
+
|
35
|
+
title_font = pdf.get_font("Helvetica", nil)
|
36
|
+
|
37
|
+
if (flg == "-E")
|
38
|
+
embed = HPDFDoc::HPDF_TRUE
|
39
|
+
else
|
40
|
+
embed = HPDFDoc::HPDF_FALSE
|
41
|
+
end
|
42
|
+
|
43
|
+
detail_font_name = pdf.load_ttfont_from_file(font_name, embed)
|
44
|
+
print font_name, ' load OK.[', detail_font_name, ']'
|
45
|
+
|
46
|
+
detail_font = pdf.get_font(detail_font_name, nil)
|
47
|
+
|
48
|
+
page.set_font_and_size(title_font, 10)
|
49
|
+
|
50
|
+
page.begin_text
|
51
|
+
|
52
|
+
# Move the position of the text to top of the page. #
|
53
|
+
page.move_text_pos(10, 190)
|
54
|
+
page.show_text(detail_font_name)
|
55
|
+
|
56
|
+
if (embed)
|
57
|
+
page.show_text("(Embedded Subset)")
|
58
|
+
end
|
59
|
+
|
60
|
+
page.set_font_and_size(detail_font, 15)
|
61
|
+
page.move_text_pos(10, -20)
|
62
|
+
page.show_text("abcdefghijklmnopqrstuvwxyz")
|
63
|
+
page.move_text_pos(0, -20)
|
64
|
+
page.show_text("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
|
65
|
+
page.move_text_pos(0, -20)
|
66
|
+
page.show_text("1234567890")
|
67
|
+
page.move_text_pos(0, -20)
|
68
|
+
|
69
|
+
page.set_font_and_size(detail_font, 10)
|
70
|
+
page.show_text(SAMP_TXT)
|
71
|
+
page.move_text_pos(0, -18)
|
72
|
+
|
73
|
+
page.set_font_and_size(detail_font, 16)
|
74
|
+
page.show_text(SAMP_TXT)
|
75
|
+
page.move_text_pos(0, -27)
|
76
|
+
|
77
|
+
page.set_font_and_size(detail_font, 23)
|
78
|
+
page.show_text(SAMP_TXT)
|
79
|
+
page.move_text_pos(0, -36)
|
80
|
+
|
81
|
+
page.set_font_and_size(detail_font, 30)
|
82
|
+
page.show_text(SAMP_TXT)
|
83
|
+
page.move_text_pos(0, -36)
|
84
|
+
|
85
|
+
tw = page.text_width(SAMP_TXT)
|
86
|
+
page_height = 210
|
87
|
+
page_width = tw + 40
|
88
|
+
|
89
|
+
page.set_width(page_width)
|
90
|
+
page.set_height(page_height)
|
91
|
+
|
92
|
+
# Finish to print text. #
|
93
|
+
page.end_text
|
94
|
+
|
95
|
+
page.set_line_width(0.5)
|
96
|
+
|
97
|
+
page.move_to(10, page_height - 25)
|
98
|
+
page.line_to(page_width - 10, page_height - 25)
|
99
|
+
page.stroke
|
100
|
+
|
101
|
+
page.move_to(10, page_height - 85)
|
102
|
+
page.line_to(page_width - 10, page_height - 85)
|
103
|
+
page.stroke
|
104
|
+
|
105
|
+
file_name= $0 + ".pdf"
|
106
|
+
pdf.save_to_file(file_name)
|
data/ext/extconf.rb
ADDED
data/ext/hpdf.c
ADDED
@@ -0,0 +1,3779 @@
|
|
1
|
+
/*
|
2
|
+
* << Haru Free PDF Library 2.0.5 >> -- hpdf.c
|
3
|
+
*
|
4
|
+
* URL http://libharu.sourceforge.net/
|
5
|
+
*
|
6
|
+
* Copyright (c) 1999-2006 Takeshi Kanno
|
7
|
+
*
|
8
|
+
* Permission to use, copy, modify, distribute and sell this software
|
9
|
+
* and its documentation for any purpose is hereby granted without fee,
|
10
|
+
* provided that the above copyright notice appear in all copies and
|
11
|
+
* that both that copyright notice and this permission notice appear
|
12
|
+
* in supporting documentation.
|
13
|
+
* It is provided "as is" without express or implied warranty.
|
14
|
+
*
|
15
|
+
* 2006.08.03 update.
|
16
|
+
*/
|
17
|
+
|
18
|
+
#include "ruby.h"
|
19
|
+
#include "rubyio.h"
|
20
|
+
|
21
|
+
#include "hpdf.h"
|
22
|
+
#include "hpdf_conf.h"
|
23
|
+
#include "hpdf_utils.h"
|
24
|
+
#include "hpdf_pages.h"
|
25
|
+
|
26
|
+
#include <stdlib.h>
|
27
|
+
#include <stdio.h>
|
28
|
+
|
29
|
+
static VALUE rb_cHPDFDoc;
|
30
|
+
static VALUE rb_cHPDFPage;
|
31
|
+
static VALUE rb_cHPDFImage;
|
32
|
+
static VALUE rb_cHPDFFont;
|
33
|
+
static VALUE rb_cHPDFOutline;
|
34
|
+
static VALUE rb_cHPDFEncoder;
|
35
|
+
static VALUE rb_cHPDFDestination;
|
36
|
+
static VALUE rb_cHPDFAnnotation;
|
37
|
+
static VALUE rb_cHPDFExtGState;
|
38
|
+
static VALUE rb_eHPDFError;
|
39
|
+
|
40
|
+
static void
|
41
|
+
hpdf_free (HPDF_Doc pdf);
|
42
|
+
|
43
|
+
|
44
|
+
static void
|
45
|
+
hpdf_error_handler (HPDF_STATUS error_no,
|
46
|
+
HPDF_STATUS detail_no,
|
47
|
+
void *user_data)
|
48
|
+
{
|
49
|
+
char msg[256];
|
50
|
+
|
51
|
+
snprintf(msg, 256, "ERROR 0x%04X-0x%04X", error_no, detail_no);
|
52
|
+
|
53
|
+
rb_raise(rb_eHPDFError, msg);
|
54
|
+
}
|
55
|
+
|
56
|
+
|
57
|
+
static VALUE
|
58
|
+
hpdf_new ()
|
59
|
+
{
|
60
|
+
HPDF_Doc pdf = HPDF_New(hpdf_error_handler, NULL);
|
61
|
+
|
62
|
+
HPDF_PTRACE(("hpdf_new pdf=%p\n", pdf));
|
63
|
+
|
64
|
+
if (!pdf)
|
65
|
+
rb_raise(rb_eHPDFError, "cannot create HPDF_Doc object.");
|
66
|
+
|
67
|
+
return Data_Wrap_Struct (rb_cHPDFDoc, 0, hpdf_free, pdf);
|
68
|
+
}
|
69
|
+
|
70
|
+
static void
|
71
|
+
hpdf_free (HPDF_Doc pdf)
|
72
|
+
{
|
73
|
+
HPDF_PTRACE(("hpdf_free pdf=%p\n", pdf));
|
74
|
+
|
75
|
+
HPDF_Free (pdf);
|
76
|
+
}
|
77
|
+
|
78
|
+
static VALUE
|
79
|
+
hpdf_new_doc (VALUE obj)
|
80
|
+
{
|
81
|
+
HPDF_Doc pdf;
|
82
|
+
HPDF_STATUS ret;
|
83
|
+
|
84
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
85
|
+
|
86
|
+
HPDF_PTRACE(("hpdf_new_doc pdf=%p\n", pdf));
|
87
|
+
|
88
|
+
ret = HPDF_NewDoc(pdf);
|
89
|
+
|
90
|
+
return INT2NUM(ret);
|
91
|
+
}
|
92
|
+
|
93
|
+
static VALUE
|
94
|
+
hpdf_free_doc (VALUE obj)
|
95
|
+
{
|
96
|
+
HPDF_Doc pdf;
|
97
|
+
|
98
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
99
|
+
|
100
|
+
HPDF_PTRACE(("hpdf_free_doc pdf=%p\n", pdf));
|
101
|
+
|
102
|
+
HPDF_FreeDoc(pdf);
|
103
|
+
|
104
|
+
return Qnil;
|
105
|
+
}
|
106
|
+
|
107
|
+
static VALUE
|
108
|
+
hpdf_has_doc (VALUE obj)
|
109
|
+
{
|
110
|
+
HPDF_Doc pdf;
|
111
|
+
HPDF_STATUS ret;
|
112
|
+
|
113
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
114
|
+
|
115
|
+
HPDF_PTRACE(("hpdf_has_doc pdf=%p\n", pdf));
|
116
|
+
|
117
|
+
ret = HPDF_HasDoc(pdf);
|
118
|
+
|
119
|
+
return INT2NUM(ret);
|
120
|
+
}
|
121
|
+
|
122
|
+
static VALUE
|
123
|
+
hpdf_free_doc_all (VALUE obj)
|
124
|
+
{
|
125
|
+
HPDF_Doc pdf;
|
126
|
+
|
127
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
128
|
+
|
129
|
+
HPDF_PTRACE(("hpdf_free_doc_all pdf=%p\n", pdf));
|
130
|
+
|
131
|
+
HPDF_FreeDocAll(pdf);
|
132
|
+
|
133
|
+
return Qnil;
|
134
|
+
}
|
135
|
+
|
136
|
+
static VALUE
|
137
|
+
hpdf_save_to_file (VALUE obj, VALUE file_name)
|
138
|
+
{
|
139
|
+
HPDF_Doc pdf;
|
140
|
+
HPDF_STATUS ret;
|
141
|
+
|
142
|
+
Check_Type(file_name, T_STRING);
|
143
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
144
|
+
|
145
|
+
HPDF_PTRACE(("hpdf_save_to_file pdf=%p\n", pdf));
|
146
|
+
|
147
|
+
ret = HPDF_SaveToFile(pdf, STR2CSTR(file_name));
|
148
|
+
|
149
|
+
return INT2NUM(ret);
|
150
|
+
}
|
151
|
+
|
152
|
+
static VALUE
|
153
|
+
hpdf_get_error (VALUE obj)
|
154
|
+
{
|
155
|
+
HPDF_Doc pdf;
|
156
|
+
HPDF_STATUS ret;
|
157
|
+
|
158
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
159
|
+
|
160
|
+
HPDF_PTRACE(("hpdf_get_error pdf=%p\n", pdf));
|
161
|
+
|
162
|
+
ret = HPDF_GetError(pdf);
|
163
|
+
|
164
|
+
return INT2NUM(ret);
|
165
|
+
}
|
166
|
+
|
167
|
+
static VALUE
|
168
|
+
hpdf_reset_error (VALUE obj)
|
169
|
+
{
|
170
|
+
HPDF_Doc pdf;
|
171
|
+
|
172
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
173
|
+
|
174
|
+
HPDF_PTRACE(("hpdf_reset_error pdf=%p\n", pdf));
|
175
|
+
|
176
|
+
HPDF_ResetError(pdf);
|
177
|
+
|
178
|
+
return Qnil;
|
179
|
+
}
|
180
|
+
|
181
|
+
static VALUE
|
182
|
+
hpdf_set_page_configuration (VALUE obj, VALUE page_per_pages)
|
183
|
+
{
|
184
|
+
HPDF_Doc pdf;
|
185
|
+
HPDF_STATUS ret;
|
186
|
+
HPDF_UINT i;
|
187
|
+
|
188
|
+
i = NUM2INT(page_per_pages);
|
189
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
190
|
+
|
191
|
+
HPDF_PTRACE(("hpdf_set_page_configuration pdf=%p\n", pdf));
|
192
|
+
|
193
|
+
ret = HPDF_SetPagesConfiguration(pdf, i);
|
194
|
+
|
195
|
+
return INT2NUM(ret);
|
196
|
+
}
|
197
|
+
|
198
|
+
static VALUE
|
199
|
+
hpdf_get_page_by_index (VALUE obj, VALUE index)
|
200
|
+
{
|
201
|
+
HPDF_Page page;
|
202
|
+
HPDF_Doc pdf;
|
203
|
+
HPDF_UINT i;
|
204
|
+
|
205
|
+
i = NUM2INT(index);
|
206
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
207
|
+
|
208
|
+
HPDF_PTRACE(("hpdf_get_page_by_index pdf=%p\n", pdf));
|
209
|
+
|
210
|
+
page = HPDF_GetPageByIndex(pdf, i);
|
211
|
+
|
212
|
+
return Data_Wrap_Struct (rb_cHPDFPage, 0, 0, page);
|
213
|
+
}
|
214
|
+
|
215
|
+
static VALUE
|
216
|
+
hpdf_get_page_layout (VALUE obj)
|
217
|
+
{
|
218
|
+
HPDF_Doc pdf;
|
219
|
+
HPDF_UINT layout;
|
220
|
+
|
221
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
222
|
+
|
223
|
+
HPDF_PTRACE(("hpdf_get_page_layout pdf=%p\n", pdf));
|
224
|
+
|
225
|
+
layout = HPDF_GetPageLayout(pdf);
|
226
|
+
|
227
|
+
return INT2NUM(layout);
|
228
|
+
}
|
229
|
+
|
230
|
+
static VALUE
|
231
|
+
hpdf_set_page_layout (VALUE obj, VALUE layout)
|
232
|
+
{
|
233
|
+
HPDF_Doc pdf;
|
234
|
+
HPDF_STATUS ret;
|
235
|
+
HPDF_UINT i;
|
236
|
+
|
237
|
+
i = NUM2INT(layout);
|
238
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
239
|
+
|
240
|
+
HPDF_PTRACE(("hpdf_set_page_layout pdf=%p\n", pdf));
|
241
|
+
|
242
|
+
ret = HPDF_SetPageLayout(pdf, i);
|
243
|
+
|
244
|
+
return INT2NUM(ret);
|
245
|
+
}
|
246
|
+
|
247
|
+
static VALUE
|
248
|
+
hpdf_get_page_mode (VALUE obj)
|
249
|
+
{
|
250
|
+
HPDF_Doc pdf;
|
251
|
+
HPDF_UINT mode;
|
252
|
+
|
253
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
254
|
+
|
255
|
+
HPDF_PTRACE(("hpdf_get_page_mode pdf=%p\n", pdf));
|
256
|
+
|
257
|
+
mode = HPDF_GetPageMode(pdf);
|
258
|
+
|
259
|
+
return INT2NUM(mode);
|
260
|
+
}
|
261
|
+
|
262
|
+
static VALUE
|
263
|
+
hpdf_set_page_mode (VALUE obj, VALUE mode)
|
264
|
+
{
|
265
|
+
HPDF_Doc pdf;
|
266
|
+
HPDF_STATUS ret;
|
267
|
+
HPDF_UINT i;
|
268
|
+
|
269
|
+
i = NUM2INT(mode);
|
270
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
271
|
+
|
272
|
+
HPDF_PTRACE(("hpdf_set_page_mode pdf=%p\n", pdf));
|
273
|
+
|
274
|
+
ret = HPDF_SetPageMode(pdf, i);
|
275
|
+
|
276
|
+
return INT2NUM(ret);
|
277
|
+
}
|
278
|
+
|
279
|
+
static VALUE
|
280
|
+
hpdf_set_open_action (VALUE obj, VALUE action)
|
281
|
+
{
|
282
|
+
HPDF_Doc pdf;
|
283
|
+
HPDF_Destination dst;
|
284
|
+
HPDF_STATUS ret;
|
285
|
+
|
286
|
+
if (HPDF_StrCmp(rb_obj_classname(action), "HPDFDestination") != 0)
|
287
|
+
rb_raise(rb_eHPDFError, "invalid argument(1).");
|
288
|
+
|
289
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
290
|
+
Data_Get_Struct(action, HPDF_Array_Rec, dst);
|
291
|
+
|
292
|
+
HPDF_PTRACE(("hpdf_set_open_action pdf=%p\n", pdf));
|
293
|
+
|
294
|
+
ret = HPDF_SetOpenAction(pdf, dst);
|
295
|
+
|
296
|
+
return INT2NUM(ret);
|
297
|
+
}
|
298
|
+
|
299
|
+
static VALUE
|
300
|
+
hpdf_get_viewer_preference (VALUE obj)
|
301
|
+
{
|
302
|
+
HPDF_Doc pdf;
|
303
|
+
HPDF_UINT mode;
|
304
|
+
|
305
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
306
|
+
|
307
|
+
HPDF_PTRACE(("hpdf_get_viewer_preference pdf=%p\n", pdf));
|
308
|
+
|
309
|
+
mode = HPDF_GetViewerPreference(pdf);
|
310
|
+
|
311
|
+
return INT2NUM(mode);
|
312
|
+
}
|
313
|
+
|
314
|
+
static VALUE
|
315
|
+
hpdf_set_viewer_preference (VALUE obj, VALUE value)
|
316
|
+
{
|
317
|
+
HPDF_Doc pdf;
|
318
|
+
HPDF_STATUS ret;
|
319
|
+
HPDF_UINT i;
|
320
|
+
|
321
|
+
i = NUM2INT(value);
|
322
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
323
|
+
|
324
|
+
HPDF_PTRACE(("hpdf_set_viewer_preference pdf=%p\n", pdf));
|
325
|
+
|
326
|
+
ret = HPDF_SetViewerPreference(pdf, i);
|
327
|
+
|
328
|
+
return INT2NUM(ret);
|
329
|
+
}
|
330
|
+
|
331
|
+
static VALUE
|
332
|
+
hpdf_get_current_page (VALUE obj)
|
333
|
+
{
|
334
|
+
HPDF_Page page;
|
335
|
+
HPDF_Doc pdf;
|
336
|
+
|
337
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
338
|
+
|
339
|
+
HPDF_PTRACE(("hpdf_get_current_page pdf=%p\n", pdf));
|
340
|
+
|
341
|
+
page = HPDF_GetCurrentPage(pdf);
|
342
|
+
|
343
|
+
return Data_Wrap_Struct (rb_cHPDFPage, 0, 0, page);
|
344
|
+
}
|
345
|
+
|
346
|
+
static VALUE
|
347
|
+
hpdf_add_page (VALUE obj)
|
348
|
+
{
|
349
|
+
HPDF_Page page;
|
350
|
+
HPDF_Doc pdf;
|
351
|
+
|
352
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
353
|
+
|
354
|
+
HPDF_PTRACE(("hpdf_add_page pdf=%p\n", pdf));
|
355
|
+
|
356
|
+
page = HPDF_AddPage(pdf);
|
357
|
+
|
358
|
+
return Data_Wrap_Struct (rb_cHPDFPage, 0, 0, page);
|
359
|
+
}
|
360
|
+
|
361
|
+
static VALUE
|
362
|
+
hpdf_insert_page (VALUE obj, VALUE page)
|
363
|
+
{
|
364
|
+
HPDF_Page target;
|
365
|
+
HPDF_Page new_page;
|
366
|
+
HPDF_Doc pdf;
|
367
|
+
|
368
|
+
if (HPDF_StrCmp(rb_obj_classname(page), "HPDFPage") != 0)
|
369
|
+
rb_raise(rb_eHPDFError, "invalid argument(1).");
|
370
|
+
|
371
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
372
|
+
Data_Get_Struct(page, HPDF_Dict_Rec, target);
|
373
|
+
|
374
|
+
printf("@page=%p\n", target);
|
375
|
+
HPDF_PTRACE(("hpdf_insert_page pdf=%p\n", pdf));
|
376
|
+
|
377
|
+
new_page = HPDF_InsertPage(pdf, target);
|
378
|
+
|
379
|
+
return Data_Wrap_Struct (rb_cHPDFPage, 0, 0, new_page);
|
380
|
+
}
|
381
|
+
|
382
|
+
static VALUE
|
383
|
+
hpdf_page_set_width (VALUE obj, VALUE width)
|
384
|
+
{
|
385
|
+
HPDF_Page page;
|
386
|
+
HPDF_STATUS ret;
|
387
|
+
HPDF_REAL f;
|
388
|
+
|
389
|
+
f = NUM2DBL(width);
|
390
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
391
|
+
|
392
|
+
HPDF_PTRACE(("hpdf_page_set_width page=%p\n", page));
|
393
|
+
|
394
|
+
ret = HPDF_Page_SetWidth(page, f);
|
395
|
+
|
396
|
+
return INT2NUM(ret);
|
397
|
+
}
|
398
|
+
|
399
|
+
static VALUE
|
400
|
+
hpdf_page_set_height (VALUE obj, VALUE height)
|
401
|
+
{
|
402
|
+
HPDF_Page page;
|
403
|
+
HPDF_STATUS ret;
|
404
|
+
HPDF_REAL f;
|
405
|
+
|
406
|
+
f = NUM2DBL(height);
|
407
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
408
|
+
|
409
|
+
HPDF_PTRACE(("hpdf_page_set_height page=%p\n", page));
|
410
|
+
|
411
|
+
ret = HPDF_Page_SetHeight(page, f);
|
412
|
+
|
413
|
+
return INT2NUM(ret);
|
414
|
+
}
|
415
|
+
|
416
|
+
static VALUE
|
417
|
+
hpdf_page_set_size (VALUE obj, VALUE size, VALUE direction)
|
418
|
+
{
|
419
|
+
HPDF_Page page;
|
420
|
+
HPDF_STATUS ret;
|
421
|
+
HPDF_INT i1;
|
422
|
+
HPDF_INT i2;
|
423
|
+
|
424
|
+
i1 = NUM2INT(size);
|
425
|
+
i2 = NUM2INT(direction);
|
426
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
427
|
+
|
428
|
+
HPDF_PTRACE(("hpdf_page_set_size page=%p\n", page));
|
429
|
+
|
430
|
+
ret = HPDF_Page_SetSize(page, i1, i2);
|
431
|
+
|
432
|
+
return INT2NUM(ret);
|
433
|
+
}
|
434
|
+
|
435
|
+
static VALUE
|
436
|
+
hpdf_page_set_rotate (VALUE obj, VALUE angle)
|
437
|
+
{
|
438
|
+
HPDF_Page page;
|
439
|
+
HPDF_STATUS ret;
|
440
|
+
HPDF_INT i;
|
441
|
+
|
442
|
+
i = NUM2INT(angle);
|
443
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
444
|
+
|
445
|
+
HPDF_PTRACE(("hpdf_page_set_rotate page=%p\n", page));
|
446
|
+
|
447
|
+
ret = HPDF_Page_SetRotate(page, i);
|
448
|
+
|
449
|
+
return INT2NUM(ret);
|
450
|
+
}
|
451
|
+
|
452
|
+
static VALUE
|
453
|
+
hpdf_get_font (VALUE obj, VALUE font_name, VALUE encoding_name)
|
454
|
+
{
|
455
|
+
HPDF_Font font;
|
456
|
+
HPDF_Doc pdf;
|
457
|
+
const char *s1;
|
458
|
+
const char *s2;
|
459
|
+
|
460
|
+
s1 = STR2CSTR(font_name);
|
461
|
+
|
462
|
+
if (encoding_name == Qnil)
|
463
|
+
s2 = NULL;
|
464
|
+
else {
|
465
|
+
s2 = STR2CSTR(encoding_name);
|
466
|
+
|
467
|
+
if (HPDF_StrLen(s2, -1) == 0)
|
468
|
+
s2 = NULL;
|
469
|
+
}
|
470
|
+
|
471
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
472
|
+
|
473
|
+
HPDF_PTRACE(("hpdf_get_font pdf=%p\n", pdf));
|
474
|
+
|
475
|
+
font = HPDF_GetFont(pdf, s1, s2);
|
476
|
+
|
477
|
+
return Data_Wrap_Struct (rb_cHPDFFont, 0, 0, font);
|
478
|
+
}
|
479
|
+
|
480
|
+
static VALUE
|
481
|
+
hpdf_load_type1font_from_file (VALUE obj, VALUE afm, VALUE pfa)
|
482
|
+
{
|
483
|
+
const char* font_name;
|
484
|
+
HPDF_Doc pdf;
|
485
|
+
const char *s1;
|
486
|
+
const char *s2;
|
487
|
+
|
488
|
+
s1 = STR2CSTR(afm);
|
489
|
+
s2 = STR2CSTR(pfa);
|
490
|
+
|
491
|
+
if (HPDF_StrLen(s2, -1) == 0)
|
492
|
+
s2 = NULL;
|
493
|
+
|
494
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
495
|
+
|
496
|
+
HPDF_PTRACE(("hpdf_load_type1font_from_file pdf=%p\n", pdf));
|
497
|
+
|
498
|
+
font_name = HPDF_LoadType1FontFromFile(pdf, s1, s2);
|
499
|
+
|
500
|
+
return rb_str_new2(font_name);
|
501
|
+
}
|
502
|
+
|
503
|
+
static VALUE
|
504
|
+
hpdf_load_ttfont_from_file (VALUE obj, VALUE file_name, VALUE embedding)
|
505
|
+
{
|
506
|
+
const char* font_name;
|
507
|
+
HPDF_Doc pdf;
|
508
|
+
const char *s;
|
509
|
+
HPDF_INT i;
|
510
|
+
|
511
|
+
s = STR2CSTR(file_name);
|
512
|
+
i = NUM2INT(embedding);
|
513
|
+
|
514
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
515
|
+
|
516
|
+
HPDF_PTRACE(("hpdf_load_ttfont_from_file pdf=%p\n", pdf));
|
517
|
+
|
518
|
+
font_name = HPDF_LoadTTFontFromFile(pdf, s, i);
|
519
|
+
|
520
|
+
return rb_str_new2(font_name);
|
521
|
+
}
|
522
|
+
|
523
|
+
static VALUE
|
524
|
+
hpdf_load_ttfont_from_file2 (VALUE obj, VALUE file_name, VALUE index, VALUE embedding)
|
525
|
+
{
|
526
|
+
const char* font_name;
|
527
|
+
HPDF_Doc pdf;
|
528
|
+
const char *s;
|
529
|
+
HPDF_INT i1;
|
530
|
+
HPDF_INT i2;
|
531
|
+
|
532
|
+
s = STR2CSTR(file_name);
|
533
|
+
i1 = NUM2INT(index);
|
534
|
+
i2 = NUM2INT(embedding);
|
535
|
+
|
536
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
537
|
+
|
538
|
+
HPDF_PTRACE(("hpdf_load_ttfont_from_file2 pdf=%p\n", pdf));
|
539
|
+
|
540
|
+
font_name = HPDF_LoadTTFontFromFile2(pdf, s, i1, i2);
|
541
|
+
|
542
|
+
return rb_str_new2(font_name);
|
543
|
+
}
|
544
|
+
|
545
|
+
static VALUE
|
546
|
+
hpdf_add_page_label (VALUE obj, VALUE page_num, VALUE style, VALUE first_page, VALUE prefix)
|
547
|
+
{
|
548
|
+
HPDF_Doc pdf;
|
549
|
+
HPDF_STATUS ret;
|
550
|
+
HPDF_INT i1;
|
551
|
+
HPDF_INT i2;
|
552
|
+
HPDF_INT i3;
|
553
|
+
const char *s;
|
554
|
+
|
555
|
+
i1 = NUM2INT(page_num);
|
556
|
+
i2 = NUM2INT(style);
|
557
|
+
i3 = NUM2INT(first_page);
|
558
|
+
s = STR2CSTR(prefix);
|
559
|
+
|
560
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
561
|
+
|
562
|
+
HPDF_PTRACE(("hpdf_add_page_label pdf=%p\n", pdf));
|
563
|
+
|
564
|
+
ret = HPDF_AddPageLabel(pdf, i1, i2, i3, s);
|
565
|
+
|
566
|
+
return INT2NUM(ret);
|
567
|
+
}
|
568
|
+
|
569
|
+
static VALUE
|
570
|
+
hpdf_use_jp_fonts (VALUE obj)
|
571
|
+
{
|
572
|
+
HPDF_Doc pdf;
|
573
|
+
HPDF_STATUS ret;
|
574
|
+
|
575
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
576
|
+
|
577
|
+
HPDF_PTRACE(("hpdf_use_jp_fonts pdf=%p\n", pdf));
|
578
|
+
|
579
|
+
ret = HPDF_UseJPFonts(pdf);
|
580
|
+
|
581
|
+
return INT2NUM(ret);
|
582
|
+
}
|
583
|
+
|
584
|
+
static VALUE
|
585
|
+
hpdf_use_kr_fonts (VALUE obj)
|
586
|
+
{
|
587
|
+
HPDF_Doc pdf;
|
588
|
+
HPDF_STATUS ret;
|
589
|
+
|
590
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
591
|
+
|
592
|
+
HPDF_PTRACE(("hpdf_use_kr_fonts pdf=%p\n", pdf));
|
593
|
+
|
594
|
+
ret = HPDF_UseKRFonts(pdf);
|
595
|
+
|
596
|
+
return INT2NUM(ret);
|
597
|
+
}
|
598
|
+
|
599
|
+
static VALUE
|
600
|
+
hpdf_use_cns_fonts (VALUE obj)
|
601
|
+
{
|
602
|
+
HPDF_Doc pdf;
|
603
|
+
HPDF_STATUS ret;
|
604
|
+
|
605
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
606
|
+
|
607
|
+
HPDF_PTRACE(("hpdf_use_cns_fonts pdf=%p\n", pdf));
|
608
|
+
|
609
|
+
ret = HPDF_UseCNSFonts(pdf);
|
610
|
+
|
611
|
+
return INT2NUM(ret);
|
612
|
+
}
|
613
|
+
|
614
|
+
static VALUE
|
615
|
+
hpdf_use_cnt_fonts (VALUE obj)
|
616
|
+
{
|
617
|
+
HPDF_Doc pdf;
|
618
|
+
HPDF_STATUS ret;
|
619
|
+
|
620
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
621
|
+
|
622
|
+
HPDF_PTRACE(("hpdf_use_cnt_fonts pdf=%p\n", pdf));
|
623
|
+
|
624
|
+
ret = HPDF_UseCNSFonts(pdf);
|
625
|
+
|
626
|
+
return INT2NUM(ret);
|
627
|
+
}
|
628
|
+
|
629
|
+
|
630
|
+
static VALUE
|
631
|
+
hpdf_create_outline (VALUE obj, VALUE parent, VALUE title, VALUE encoder)
|
632
|
+
{
|
633
|
+
HPDF_Doc pdf;
|
634
|
+
HPDF_Outline outline1 = NULL;
|
635
|
+
HPDF_Outline outline2;
|
636
|
+
HPDF_Encoder e = NULL;
|
637
|
+
const char *s;
|
638
|
+
|
639
|
+
if (HPDF_StrCmp(rb_obj_classname(parent), "HPDFOutline") == 0)
|
640
|
+
Data_Get_Struct(parent, HPDF_Dict_Rec, outline1);
|
641
|
+
|
642
|
+
if (HPDF_StrCmp(rb_obj_classname(encoder), "HPDFEncoder") == 0)
|
643
|
+
Data_Get_Struct(encoder, HPDF_Encoder_Rec, e);
|
644
|
+
|
645
|
+
s = STR2CSTR(title);
|
646
|
+
|
647
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
648
|
+
|
649
|
+
HPDF_PTRACE(("hpdf_create_outline pdf=%p\n", pdf));
|
650
|
+
|
651
|
+
outline2 = HPDF_CreateOutline(pdf, outline1, s, e);
|
652
|
+
|
653
|
+
return Data_Wrap_Struct (rb_cHPDFOutline, 0, 0, outline2);
|
654
|
+
}
|
655
|
+
|
656
|
+
|
657
|
+
static VALUE
|
658
|
+
hpdf_outline_set_opend (VALUE obj, VALUE opend)
|
659
|
+
{
|
660
|
+
HPDF_Outline outline;
|
661
|
+
HPDF_STATUS ret;
|
662
|
+
HPDF_INT i;
|
663
|
+
|
664
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, outline);
|
665
|
+
i = NUM2INT(opend);
|
666
|
+
|
667
|
+
HPDF_PTRACE(("hpdf_outline_set_opend outline=%p\n", outline));
|
668
|
+
|
669
|
+
ret = HPDF_Outline_SetOpened(outline, i);
|
670
|
+
|
671
|
+
return INT2NUM(ret);
|
672
|
+
}
|
673
|
+
|
674
|
+
static VALUE
|
675
|
+
hpdf_outline_set_destination (VALUE obj, VALUE dest)
|
676
|
+
{
|
677
|
+
HPDF_Outline outline;
|
678
|
+
HPDF_Destination d;
|
679
|
+
HPDF_STATUS ret;
|
680
|
+
|
681
|
+
if (HPDF_StrCmp(rb_obj_classname(dest), "HPDFDestination") != 0)
|
682
|
+
rb_raise(rb_eHPDFError, "invalid argument(1).");
|
683
|
+
|
684
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, outline);
|
685
|
+
Data_Get_Struct(dest, HPDF_Array_Rec, d);
|
686
|
+
|
687
|
+
HPDF_PTRACE(("hpdf_outline_set_destination outline=%p\n", outline));
|
688
|
+
|
689
|
+
ret = HPDF_Outline_SetDestination(outline, d);
|
690
|
+
|
691
|
+
return INT2NUM(ret);
|
692
|
+
}
|
693
|
+
|
694
|
+
|
695
|
+
static VALUE
|
696
|
+
hpdf_page_create_destination (VALUE obj)
|
697
|
+
{
|
698
|
+
HPDF_Page page;
|
699
|
+
HPDF_Destination d;
|
700
|
+
|
701
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
702
|
+
|
703
|
+
HPDF_PTRACE(("hpdf_page_create_destination page=%p\n", page));
|
704
|
+
|
705
|
+
d = HPDF_Page_CreateDestination(page);
|
706
|
+
|
707
|
+
return Data_Wrap_Struct (rb_cHPDFDestination, 0, 0, d);
|
708
|
+
}
|
709
|
+
|
710
|
+
static VALUE
|
711
|
+
hpdf_destination_set_xyz (VALUE obj, VALUE left, VALUE top, VALUE zoom)
|
712
|
+
{
|
713
|
+
HPDF_Destination d;
|
714
|
+
HPDF_STATUS ret;
|
715
|
+
HPDF_INT i1;
|
716
|
+
HPDF_INT i2;
|
717
|
+
HPDF_INT i3;
|
718
|
+
|
719
|
+
Data_Get_Struct(obj, HPDF_Array_Rec, d);
|
720
|
+
i1 = NUM2INT(left);
|
721
|
+
i2 = NUM2INT(top);
|
722
|
+
i3 = NUM2INT(zoom);
|
723
|
+
|
724
|
+
HPDF_PTRACE(("hpdf_destination_set_xyz destination=%p\n", d));
|
725
|
+
|
726
|
+
ret = HPDF_Destination_SetXYZ(d, i1, i2, i3);
|
727
|
+
|
728
|
+
return INT2NUM(ret);
|
729
|
+
}
|
730
|
+
|
731
|
+
static VALUE
|
732
|
+
hpdf_destination_set_fit (VALUE obj)
|
733
|
+
{
|
734
|
+
HPDF_Destination d;
|
735
|
+
HPDF_STATUS ret;
|
736
|
+
|
737
|
+
Data_Get_Struct(obj, HPDF_Array_Rec, d);
|
738
|
+
|
739
|
+
HPDF_PTRACE(("hpdf_destination_set_fit destination=%p\n", d));
|
740
|
+
|
741
|
+
ret = HPDF_Destination_SetFit(d);
|
742
|
+
|
743
|
+
return INT2NUM(ret);
|
744
|
+
}
|
745
|
+
|
746
|
+
static VALUE
|
747
|
+
hpdf_destination_set_fit_h (VALUE obj, VALUE top)
|
748
|
+
{
|
749
|
+
HPDF_Destination d;
|
750
|
+
HPDF_STATUS ret;
|
751
|
+
HPDF_INT i1;
|
752
|
+
|
753
|
+
Data_Get_Struct(obj, HPDF_Array_Rec, d);
|
754
|
+
i1 = NUM2INT(top);
|
755
|
+
|
756
|
+
HPDF_PTRACE(("hpdf_destination_set_fit_h destination=%p\n", d));
|
757
|
+
|
758
|
+
ret = HPDF_Destination_SetFitH(d, i1);
|
759
|
+
|
760
|
+
return INT2NUM(ret);
|
761
|
+
}
|
762
|
+
|
763
|
+
static VALUE
|
764
|
+
hpdf_destination_set_fit_v (VALUE obj, VALUE left)
|
765
|
+
{
|
766
|
+
HPDF_Destination d;
|
767
|
+
HPDF_STATUS ret;
|
768
|
+
HPDF_INT i1;
|
769
|
+
|
770
|
+
Data_Get_Struct(obj, HPDF_Array_Rec, d);
|
771
|
+
i1 = NUM2INT(left);
|
772
|
+
|
773
|
+
HPDF_PTRACE(("hpdf_destination_set_fit_v destination=%p\n", d));
|
774
|
+
|
775
|
+
ret = HPDF_Destination_SetFitV(d, i1);
|
776
|
+
|
777
|
+
return INT2NUM(ret);
|
778
|
+
}
|
779
|
+
|
780
|
+
static VALUE
|
781
|
+
hpdf_destination_set_fit_b (VALUE obj)
|
782
|
+
{
|
783
|
+
HPDF_Destination d;
|
784
|
+
HPDF_STATUS ret;
|
785
|
+
|
786
|
+
Data_Get_Struct(obj, HPDF_Array_Rec, d);
|
787
|
+
|
788
|
+
HPDF_PTRACE(("hpdf_destination_set_fit_b destination=%p\n", d));
|
789
|
+
|
790
|
+
ret = HPDF_Destination_SetFitB(d);
|
791
|
+
|
792
|
+
return INT2NUM(ret);
|
793
|
+
}
|
794
|
+
|
795
|
+
static VALUE
|
796
|
+
hpdf_destination_set_fit_bh (VALUE obj, VALUE top)
|
797
|
+
{
|
798
|
+
HPDF_Destination d;
|
799
|
+
HPDF_STATUS ret;
|
800
|
+
HPDF_INT i1;
|
801
|
+
|
802
|
+
Data_Get_Struct(obj, HPDF_Array_Rec, d);
|
803
|
+
i1 = NUM2INT(top);
|
804
|
+
|
805
|
+
HPDF_PTRACE(("hpdf_destination_set_fit_bh destination=%p\n", d));
|
806
|
+
|
807
|
+
ret = HPDF_Destination_SetFitBH(d, i1);
|
808
|
+
|
809
|
+
return INT2NUM(ret);
|
810
|
+
}
|
811
|
+
|
812
|
+
static VALUE
|
813
|
+
hpdf_destination_set_fit_bv (VALUE obj, VALUE left)
|
814
|
+
{
|
815
|
+
HPDF_Destination d;
|
816
|
+
HPDF_STATUS ret;
|
817
|
+
HPDF_INT i1;
|
818
|
+
|
819
|
+
Data_Get_Struct(obj, HPDF_Array_Rec, d);
|
820
|
+
i1 = NUM2INT(left);
|
821
|
+
|
822
|
+
HPDF_PTRACE(("hpdf_destination_set_fit_bv destination=%p\n", d));
|
823
|
+
|
824
|
+
ret = HPDF_Destination_SetFitBV(d, i1);
|
825
|
+
|
826
|
+
return INT2NUM(ret);
|
827
|
+
}
|
828
|
+
|
829
|
+
|
830
|
+
static VALUE
|
831
|
+
hpdf_destination_set_fit_r (VALUE obj, VALUE left, VALUE bottom, VALUE right, VALUE top)
|
832
|
+
{
|
833
|
+
HPDF_Destination d;
|
834
|
+
HPDF_STATUS ret;
|
835
|
+
HPDF_INT i1;
|
836
|
+
HPDF_INT i2;
|
837
|
+
HPDF_INT i3;
|
838
|
+
HPDF_INT i4;
|
839
|
+
|
840
|
+
Data_Get_Struct(obj, HPDF_Array_Rec, d);
|
841
|
+
i1 = NUM2INT(left);
|
842
|
+
i2 = NUM2INT(bottom);
|
843
|
+
i3 = NUM2INT(right);
|
844
|
+
i4 = NUM2INT(top);
|
845
|
+
|
846
|
+
HPDF_PTRACE(("hpdf_destination_set_fit_r destination=%p\n", d));
|
847
|
+
|
848
|
+
ret = HPDF_Destination_SetFitR(d, i1, i2, i3, i4);
|
849
|
+
|
850
|
+
return INT2NUM(ret);
|
851
|
+
}
|
852
|
+
|
853
|
+
static VALUE
|
854
|
+
hpdf_get_encoder (VALUE obj, VALUE encoding_name)
|
855
|
+
{
|
856
|
+
HPDF_Encoder encoder;
|
857
|
+
HPDF_Doc pdf;
|
858
|
+
const char *s1;
|
859
|
+
|
860
|
+
s1 = STR2CSTR(encoding_name);
|
861
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
862
|
+
|
863
|
+
HPDF_PTRACE(("hpdf_get_encoder pdf=%p\n", pdf));
|
864
|
+
|
865
|
+
encoder = HPDF_GetEncoder(pdf, s1);
|
866
|
+
|
867
|
+
return Data_Wrap_Struct (rb_cHPDFEncoder, 0, 0, encoder);
|
868
|
+
}
|
869
|
+
|
870
|
+
static VALUE
|
871
|
+
hpdf_get_current_encoder (VALUE obj)
|
872
|
+
{
|
873
|
+
HPDF_Encoder encoder;
|
874
|
+
HPDF_Doc pdf;
|
875
|
+
|
876
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
877
|
+
|
878
|
+
HPDF_PTRACE(("hpdf_get_current_encoder pdf=%p\n", pdf));
|
879
|
+
|
880
|
+
encoder = HPDF_GetCurrentEncoder(pdf);
|
881
|
+
|
882
|
+
return Data_Wrap_Struct (rb_cHPDFEncoder, 0, 0, encoder);
|
883
|
+
}
|
884
|
+
|
885
|
+
static VALUE
|
886
|
+
hpdf_set_current_encoder (VALUE obj, VALUE encoding_name)
|
887
|
+
{
|
888
|
+
HPDF_Doc pdf;
|
889
|
+
HPDF_STATUS ret;
|
890
|
+
const char *s1;
|
891
|
+
|
892
|
+
s1 = STR2CSTR(encoding_name);
|
893
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
894
|
+
|
895
|
+
HPDF_PTRACE(("hpdf_set_current_encoder pdf=%p\n", pdf));
|
896
|
+
|
897
|
+
ret = HPDF_SetCurrentEncoder(pdf, s1);
|
898
|
+
|
899
|
+
return INT2NUM(ret);
|
900
|
+
}
|
901
|
+
|
902
|
+
static VALUE
|
903
|
+
hpdf_encoder_get_type (VALUE obj)
|
904
|
+
{
|
905
|
+
HPDF_Encoder encoder;
|
906
|
+
HPDF_STATUS ret;
|
907
|
+
|
908
|
+
Data_Get_Struct(obj, HPDF_Encoder_Rec, encoder);
|
909
|
+
|
910
|
+
HPDF_PTRACE(("hpdf_encoder_get_type encoder=%p\n", encoder));
|
911
|
+
|
912
|
+
ret = HPDF_Encoder_GetType(encoder);
|
913
|
+
|
914
|
+
return INT2NUM(ret);
|
915
|
+
}
|
916
|
+
|
917
|
+
static VALUE
|
918
|
+
hpdf_encoder_get_byte_type (VALUE obj, VALUE text, VALUE index)
|
919
|
+
{
|
920
|
+
HPDF_Encoder encoder;
|
921
|
+
const char *s;
|
922
|
+
HPDF_INT i;
|
923
|
+
HPDF_STATUS ret;
|
924
|
+
|
925
|
+
s = STR2CSTR(text);
|
926
|
+
i = NUM2INT(index);
|
927
|
+
|
928
|
+
Data_Get_Struct(obj, HPDF_Encoder_Rec, encoder);
|
929
|
+
|
930
|
+
HPDF_PTRACE(("hpdf_encoder_get_byte_type encoder=%p\n", encoder));
|
931
|
+
|
932
|
+
ret = HPDF_Encoder_GetByteType(encoder, s, i);
|
933
|
+
|
934
|
+
return INT2NUM(ret);
|
935
|
+
}
|
936
|
+
|
937
|
+
static VALUE
|
938
|
+
hpdf_encoder_get_unicode (VALUE obj, VALUE code)
|
939
|
+
{
|
940
|
+
HPDF_Encoder encoder;
|
941
|
+
HPDF_INT i;
|
942
|
+
HPDF_STATUS ret;
|
943
|
+
|
944
|
+
i = NUM2INT(code);
|
945
|
+
|
946
|
+
Data_Get_Struct(obj, HPDF_Encoder_Rec, encoder);
|
947
|
+
|
948
|
+
HPDF_PTRACE(("hpdf_encoder_get_unicode encoder=%p\n", encoder));
|
949
|
+
|
950
|
+
ret = HPDF_Encoder_GetUnicode(encoder, i);
|
951
|
+
|
952
|
+
return INT2NUM(ret);
|
953
|
+
}
|
954
|
+
|
955
|
+
static VALUE
|
956
|
+
hpdf_encoder_get_writing_mode (VALUE obj)
|
957
|
+
{
|
958
|
+
HPDF_Encoder encoder;
|
959
|
+
HPDF_STATUS ret;
|
960
|
+
|
961
|
+
Data_Get_Struct(obj, HPDF_Encoder_Rec, encoder);
|
962
|
+
|
963
|
+
HPDF_PTRACE(("hpdf_encoder_get_writing_mode encoder=%p\n", encoder));
|
964
|
+
|
965
|
+
ret = HPDF_Encoder_GetWritingMode(encoder);
|
966
|
+
|
967
|
+
return INT2NUM(ret);
|
968
|
+
}
|
969
|
+
|
970
|
+
static VALUE
|
971
|
+
hpdf_use_jp_encodings (VALUE obj)
|
972
|
+
{
|
973
|
+
HPDF_Doc pdf;
|
974
|
+
HPDF_STATUS ret;
|
975
|
+
|
976
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
977
|
+
|
978
|
+
HPDF_PTRACE(("hpdf_use_jp_encodings pdf=%p\n", pdf));
|
979
|
+
|
980
|
+
ret = HPDF_UseJPEncodings(pdf);
|
981
|
+
|
982
|
+
return INT2NUM(ret);
|
983
|
+
}
|
984
|
+
|
985
|
+
static VALUE
|
986
|
+
hpdf_use_kr_encodings (VALUE obj)
|
987
|
+
{
|
988
|
+
HPDF_Doc pdf;
|
989
|
+
HPDF_STATUS ret;
|
990
|
+
|
991
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
992
|
+
|
993
|
+
HPDF_PTRACE(("hpdf_use_kr_encodings pdf=%p\n", pdf));
|
994
|
+
|
995
|
+
ret = HPDF_UseKREncodings(pdf);
|
996
|
+
|
997
|
+
return INT2NUM(ret);
|
998
|
+
}
|
999
|
+
|
1000
|
+
static VALUE
|
1001
|
+
hpdf_use_cns_encodings (VALUE obj)
|
1002
|
+
{
|
1003
|
+
HPDF_Doc pdf;
|
1004
|
+
HPDF_STATUS ret;
|
1005
|
+
|
1006
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
1007
|
+
|
1008
|
+
HPDF_PTRACE(("hpdf_use_cns_encodings pdf=%p\n", pdf));
|
1009
|
+
|
1010
|
+
ret = HPDF_UseCNSEncodings(pdf);
|
1011
|
+
|
1012
|
+
return INT2NUM(ret);
|
1013
|
+
}
|
1014
|
+
|
1015
|
+
static VALUE
|
1016
|
+
hpdf_use_cnt_encodings (VALUE obj)
|
1017
|
+
{
|
1018
|
+
HPDF_Doc pdf;
|
1019
|
+
HPDF_STATUS ret;
|
1020
|
+
|
1021
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
1022
|
+
|
1023
|
+
HPDF_PTRACE(("hpdf_use_cnt_encodings pdf=%p\n", pdf));
|
1024
|
+
|
1025
|
+
ret = HPDF_UseCNTEncodings(pdf);
|
1026
|
+
|
1027
|
+
return INT2NUM(ret);
|
1028
|
+
}
|
1029
|
+
|
1030
|
+
static VALUE
|
1031
|
+
hpdf_page_create_text_annot (VALUE obj, VALUE left, VALUE bottom, VALUE right, VALUE top, VALUE text, VALUE encoder)
|
1032
|
+
{
|
1033
|
+
HPDF_Page page;
|
1034
|
+
HPDF_Rect rect;
|
1035
|
+
HPDF_Encoder e = NULL;
|
1036
|
+
const char *s;
|
1037
|
+
HPDF_Annotation annot;
|
1038
|
+
|
1039
|
+
if (HPDF_StrCmp(rb_obj_classname(encoder), "HPDFEncoder") == 0)
|
1040
|
+
Data_Get_Struct(encoder, HPDF_Encoder_Rec, e);
|
1041
|
+
|
1042
|
+
s = STR2CSTR(text);
|
1043
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1044
|
+
rect.left = NUM2INT(left);
|
1045
|
+
rect.bottom = NUM2INT(bottom);
|
1046
|
+
rect.right = NUM2INT(right);
|
1047
|
+
rect.top = NUM2INT(top);
|
1048
|
+
|
1049
|
+
HPDF_PTRACE(("hpdf_page_create_text_annot page=%p\n", page));
|
1050
|
+
|
1051
|
+
annot = HPDF_Page_CreateTextAnnot(page, rect, s, e);
|
1052
|
+
|
1053
|
+
return Data_Wrap_Struct (rb_cHPDFAnnotation, 0, 0, annot);
|
1054
|
+
}
|
1055
|
+
|
1056
|
+
|
1057
|
+
static VALUE
|
1058
|
+
hpdf_page_create_link_annot (VALUE obj, VALUE left, VALUE bottom, VALUE right, VALUE top, VALUE dest)
|
1059
|
+
{
|
1060
|
+
HPDF_Page page;
|
1061
|
+
HPDF_Rect rect;
|
1062
|
+
HPDF_Destination d = NULL;
|
1063
|
+
HPDF_Annotation annot;
|
1064
|
+
|
1065
|
+
if (HPDF_StrCmp(rb_obj_classname(dest), "HPDFDestination") == 0)
|
1066
|
+
Data_Get_Struct(dest, HPDF_Array_Rec, d);
|
1067
|
+
|
1068
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1069
|
+
rect.left = NUM2INT(left);
|
1070
|
+
rect.bottom = NUM2INT(bottom);
|
1071
|
+
rect.right = NUM2INT(right);
|
1072
|
+
rect.top = NUM2INT(top);
|
1073
|
+
|
1074
|
+
HPDF_PTRACE(("hpdf_page_create_link_annot page=%p\n", page));
|
1075
|
+
|
1076
|
+
annot = HPDF_Page_CreateLinkAnnot(page, rect, d);
|
1077
|
+
|
1078
|
+
return Data_Wrap_Struct (rb_cHPDFAnnotation, 0, 0, annot);
|
1079
|
+
}
|
1080
|
+
|
1081
|
+
static VALUE
|
1082
|
+
hpdf_page_create_uri_link_annot (VALUE obj, VALUE left, VALUE bottom, VALUE right, VALUE top, VALUE uri)
|
1083
|
+
{
|
1084
|
+
HPDF_Page page;
|
1085
|
+
HPDF_Rect rect;
|
1086
|
+
const char *s;
|
1087
|
+
HPDF_Annotation annot;
|
1088
|
+
|
1089
|
+
s = STR2CSTR(uri);
|
1090
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1091
|
+
rect.left = NUM2INT(left);
|
1092
|
+
rect.bottom = NUM2INT(bottom);
|
1093
|
+
rect.right = NUM2INT(right);
|
1094
|
+
rect.top = NUM2INT(top);
|
1095
|
+
|
1096
|
+
HPDF_PTRACE(("hpdf_page_create_uri_link_annot page=%p\n", page));
|
1097
|
+
|
1098
|
+
annot = HPDF_Page_CreateURILinkAnnot(page, rect, s);
|
1099
|
+
|
1100
|
+
return Data_Wrap_Struct (rb_cHPDFAnnotation, 0, 0, annot);
|
1101
|
+
}
|
1102
|
+
|
1103
|
+
static VALUE
|
1104
|
+
hpdf_linkannot_set_highlight_mode (VALUE obj, VALUE mode)
|
1105
|
+
{
|
1106
|
+
HPDF_Annotation annot;
|
1107
|
+
HPDF_STATUS ret;
|
1108
|
+
HPDF_INT i;
|
1109
|
+
|
1110
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, annot);
|
1111
|
+
i = NUM2INT(mode);
|
1112
|
+
|
1113
|
+
HPDF_PTRACE(("hpdf_linkannot_set_highlight_mode annot=%p\n", annot));
|
1114
|
+
|
1115
|
+
ret = HPDF_LinkAnnot_SetHighlightMode(annot, i);
|
1116
|
+
|
1117
|
+
return INT2NUM(ret);
|
1118
|
+
}
|
1119
|
+
|
1120
|
+
static VALUE
|
1121
|
+
hpdf_linkannot_set_border_style (VALUE obj, VALUE width, VALUE dash_on, VALUE dash_off)
|
1122
|
+
{
|
1123
|
+
HPDF_Annotation annot;
|
1124
|
+
HPDF_STATUS ret;
|
1125
|
+
HPDF_INT i1;
|
1126
|
+
HPDF_INT i2;
|
1127
|
+
HPDF_INT i3;
|
1128
|
+
|
1129
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, annot);
|
1130
|
+
i1 = NUM2INT(width);
|
1131
|
+
i2 = NUM2INT(dash_on);
|
1132
|
+
i3 = NUM2INT(dash_off);
|
1133
|
+
|
1134
|
+
HPDF_PTRACE(("hpdf_linkannot_set_border_style annot=%p\n", annot));
|
1135
|
+
|
1136
|
+
ret = HPDF_LinkAnnot_SetBorderStyle(annot, i1, i2, i3);
|
1137
|
+
|
1138
|
+
return INT2NUM(ret);
|
1139
|
+
}
|
1140
|
+
|
1141
|
+
static VALUE
|
1142
|
+
hpdf_textannot_set_icon (VALUE obj, VALUE icon)
|
1143
|
+
{
|
1144
|
+
HPDF_Annotation annot;
|
1145
|
+
HPDF_STATUS ret;
|
1146
|
+
HPDF_INT i;
|
1147
|
+
|
1148
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, annot);
|
1149
|
+
i = NUM2INT(icon);
|
1150
|
+
|
1151
|
+
HPDF_PTRACE(("hpdf_textannot_set_highlight_mode annot=%p\n", annot));
|
1152
|
+
|
1153
|
+
ret = HPDF_TextAnnot_SetIcon(annot, i);
|
1154
|
+
|
1155
|
+
return INT2NUM(ret);
|
1156
|
+
}
|
1157
|
+
|
1158
|
+
static VALUE
|
1159
|
+
hpdf_textannot_set_opened (VALUE obj, VALUE opened)
|
1160
|
+
{
|
1161
|
+
HPDF_Annotation annot;
|
1162
|
+
HPDF_STATUS ret;
|
1163
|
+
HPDF_INT i;
|
1164
|
+
|
1165
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, annot);
|
1166
|
+
i = NUM2INT(opened);
|
1167
|
+
|
1168
|
+
HPDF_PTRACE(("hpdf_textannot_set_opened annot=%p\n", annot));
|
1169
|
+
|
1170
|
+
ret = HPDF_TextAnnot_SetOpened(annot, i);
|
1171
|
+
|
1172
|
+
return INT2NUM(ret);
|
1173
|
+
}
|
1174
|
+
|
1175
|
+
static VALUE
|
1176
|
+
hpdf_load_png_image_from_file (VALUE obj, VALUE file_name)
|
1177
|
+
{
|
1178
|
+
HPDF_Doc pdf;
|
1179
|
+
HPDF_Image image;
|
1180
|
+
const char *s;
|
1181
|
+
|
1182
|
+
s = STR2CSTR(file_name);
|
1183
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
1184
|
+
|
1185
|
+
HPDF_PTRACE(("hpdf_load_png_image_from_file pdf=%p\n", pdf));
|
1186
|
+
|
1187
|
+
image = HPDF_LoadPngImageFromFile(pdf, s);
|
1188
|
+
|
1189
|
+
return Data_Wrap_Struct (rb_cHPDFImage, 0, 0, image);
|
1190
|
+
}
|
1191
|
+
|
1192
|
+
|
1193
|
+
static VALUE
|
1194
|
+
hpdf_load_jpeg_image_from_file (VALUE obj, VALUE file_name)
|
1195
|
+
{
|
1196
|
+
HPDF_Doc pdf;
|
1197
|
+
HPDF_Image image;
|
1198
|
+
const char *s;
|
1199
|
+
|
1200
|
+
s = STR2CSTR(file_name);
|
1201
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
1202
|
+
|
1203
|
+
HPDF_PTRACE(("hpdf_load_png_image_from_file pdf=%p\n", pdf));
|
1204
|
+
|
1205
|
+
image = HPDF_LoadJpegImageFromFile(pdf, s);
|
1206
|
+
|
1207
|
+
return Data_Wrap_Struct (rb_cHPDFImage, 0, 0, image);
|
1208
|
+
}
|
1209
|
+
|
1210
|
+
|
1211
|
+
static VALUE
|
1212
|
+
hpdf_image_get_size (VALUE obj)
|
1213
|
+
{
|
1214
|
+
HPDF_Image image;
|
1215
|
+
HPDF_Point p;
|
1216
|
+
VALUE ret;
|
1217
|
+
VALUE x;
|
1218
|
+
VALUE y;
|
1219
|
+
|
1220
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, image);
|
1221
|
+
|
1222
|
+
HPDF_PTRACE(("hpdf_image_get_size image=%p\n", image));
|
1223
|
+
|
1224
|
+
p = HPDF_Image_GetSize(image);
|
1225
|
+
|
1226
|
+
ret = rb_ary_new();
|
1227
|
+
x = rb_float_new(p.x);
|
1228
|
+
y = rb_float_new(p.y);
|
1229
|
+
rb_ary_push(ret, x);
|
1230
|
+
rb_ary_push(ret, y);
|
1231
|
+
|
1232
|
+
return ret;
|
1233
|
+
}
|
1234
|
+
|
1235
|
+
|
1236
|
+
static VALUE
|
1237
|
+
hpdf_image_get_width (VALUE obj)
|
1238
|
+
{
|
1239
|
+
HPDF_Image image;
|
1240
|
+
HPDF_UINT i;
|
1241
|
+
|
1242
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, image);
|
1243
|
+
|
1244
|
+
HPDF_PTRACE(("hpdf_image_get_width image=%p\n", image));
|
1245
|
+
|
1246
|
+
i = HPDF_Image_GetWidth(image);
|
1247
|
+
|
1248
|
+
return INT2NUM(i);
|
1249
|
+
}
|
1250
|
+
|
1251
|
+
|
1252
|
+
static VALUE
|
1253
|
+
hpdf_image_get_height (VALUE obj)
|
1254
|
+
{
|
1255
|
+
HPDF_Image image;
|
1256
|
+
HPDF_UINT i;
|
1257
|
+
|
1258
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, image);
|
1259
|
+
|
1260
|
+
HPDF_PTRACE(("hpdf_image_get_height image=%p\n", image));
|
1261
|
+
|
1262
|
+
i = HPDF_Image_GetHeight(image);
|
1263
|
+
|
1264
|
+
return INT2NUM(i);
|
1265
|
+
}
|
1266
|
+
|
1267
|
+
static VALUE
|
1268
|
+
hpdf_image_get_bits_per_component (VALUE obj)
|
1269
|
+
{
|
1270
|
+
HPDF_Image image;
|
1271
|
+
HPDF_UINT i;
|
1272
|
+
|
1273
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, image);
|
1274
|
+
|
1275
|
+
HPDF_PTRACE(("hpdf_encoder_get_unicode image=%p\n", image));
|
1276
|
+
|
1277
|
+
i = HPDF_Image_GetBitsPerComponent(image);
|
1278
|
+
|
1279
|
+
return INT2NUM(i);
|
1280
|
+
}
|
1281
|
+
|
1282
|
+
static VALUE
|
1283
|
+
hpdf_image_get_color_space (VALUE obj)
|
1284
|
+
{
|
1285
|
+
const char* ret;
|
1286
|
+
HPDF_Image image;
|
1287
|
+
|
1288
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, image);
|
1289
|
+
|
1290
|
+
HPDF_PTRACE(("hpdf_image_get_color_space image=%p\n", image));
|
1291
|
+
|
1292
|
+
ret = HPDF_Image_GetColorSpace(image);
|
1293
|
+
|
1294
|
+
return rb_str_new2(ret);
|
1295
|
+
}
|
1296
|
+
|
1297
|
+
static VALUE
|
1298
|
+
hpdf_image_set_color_mask (VALUE obj, VALUE rmin, VALUE rmax, VALUE gmin, VALUE gmax, VALUE bmin, VALUE bmax)
|
1299
|
+
{
|
1300
|
+
HPDF_Image image;
|
1301
|
+
HPDF_STATUS ret;
|
1302
|
+
HPDF_INT i1;
|
1303
|
+
HPDF_INT i2;
|
1304
|
+
HPDF_INT i3;
|
1305
|
+
HPDF_INT i4;
|
1306
|
+
HPDF_INT i5;
|
1307
|
+
HPDF_INT i6;
|
1308
|
+
|
1309
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, image);
|
1310
|
+
i1 = NUM2INT(rmin);
|
1311
|
+
i2 = NUM2INT(rmax);
|
1312
|
+
i3 = NUM2INT(gmin);
|
1313
|
+
i4 = NUM2INT(gmax);
|
1314
|
+
i5 = NUM2INT(bmin);
|
1315
|
+
i6 = NUM2INT(bmax);
|
1316
|
+
|
1317
|
+
HPDF_PTRACE(("hpdf_image_set_color_mask image=%p\n", image));
|
1318
|
+
|
1319
|
+
ret = HPDF_Image_SetColorMask(image, i1, i2, i3, i4, i5, i6);
|
1320
|
+
|
1321
|
+
return INT2NUM(ret);
|
1322
|
+
}
|
1323
|
+
|
1324
|
+
static VALUE
|
1325
|
+
hpdf_image_set_mask_image (VALUE obj, VALUE mask_image)
|
1326
|
+
{
|
1327
|
+
HPDF_Image image1;
|
1328
|
+
HPDF_Image image2;
|
1329
|
+
HPDF_STATUS ret;
|
1330
|
+
|
1331
|
+
if (HPDF_StrCmp(rb_obj_classname(mask_image), "HPDFImage") != 0)
|
1332
|
+
rb_raise(rb_eHPDFError, "invalid argument(1).");
|
1333
|
+
|
1334
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, image1);
|
1335
|
+
Data_Get_Struct(mask_image, HPDF_Dict_Rec, image2);
|
1336
|
+
|
1337
|
+
HPDF_PTRACE(("hpdf_image_set_mask_image image=%p\n", image1));
|
1338
|
+
|
1339
|
+
ret = HPDF_Image_SetMaskImage(image1, image2);
|
1340
|
+
|
1341
|
+
return INT2NUM(ret);
|
1342
|
+
}
|
1343
|
+
|
1344
|
+
static VALUE
|
1345
|
+
hpdf_set_info_attr (VALUE obj, VALUE type, VALUE value)
|
1346
|
+
{
|
1347
|
+
HPDF_Doc pdf;
|
1348
|
+
const char *s;
|
1349
|
+
HPDF_INT i;
|
1350
|
+
HPDF_STATUS ret;
|
1351
|
+
|
1352
|
+
i = NUM2INT(type);
|
1353
|
+
s = STR2CSTR(value);
|
1354
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
1355
|
+
|
1356
|
+
HPDF_PTRACE(("hpdf_set_info_attr pdf=%p\n", pdf));
|
1357
|
+
|
1358
|
+
ret = HPDF_SetInfoAttr(pdf, i, s);
|
1359
|
+
|
1360
|
+
return INT2NUM(ret);
|
1361
|
+
}
|
1362
|
+
|
1363
|
+
static VALUE
|
1364
|
+
hpdf_get_info_attr (VALUE obj, VALUE type)
|
1365
|
+
{
|
1366
|
+
HPDF_Doc pdf;
|
1367
|
+
HPDF_INT i;
|
1368
|
+
const char *ret;
|
1369
|
+
|
1370
|
+
i = NUM2INT(type);
|
1371
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
1372
|
+
|
1373
|
+
HPDF_PTRACE(("hpdf_get_info_attr pdf=%p\n", pdf));
|
1374
|
+
|
1375
|
+
ret = HPDF_GetInfoAttr(pdf, i);
|
1376
|
+
|
1377
|
+
return rb_str_new2(ret);
|
1378
|
+
}
|
1379
|
+
|
1380
|
+
static VALUE
|
1381
|
+
hpdf_set_info_date_attr (VALUE obj, VALUE type, VALUE year, VALUE month, VALUE day, VALUE hour, VALUE minutes, VALUE seconds, VALUE ind, VALUE off_hour, VALUE off_minuttes)
|
1382
|
+
{
|
1383
|
+
HPDF_Doc pdf;
|
1384
|
+
const char *s;
|
1385
|
+
HPDF_INT tp;
|
1386
|
+
HPDF_Date dt;
|
1387
|
+
HPDF_STATUS ret;
|
1388
|
+
|
1389
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
1390
|
+
s = STR2CSTR(ind);
|
1391
|
+
if (HPDF_StrLen(s, -1) != 1 || s[0] != '+' || s[0] != '-' || s[0] != 'Z')
|
1392
|
+
rb_raise(rb_eHPDFError, "The eighth argument must be either of '+','-','Z',' '.");
|
1393
|
+
|
1394
|
+
tp = NUM2INT(type);
|
1395
|
+
dt.year = NUM2INT(year);
|
1396
|
+
dt.month = NUM2INT(month);
|
1397
|
+
dt.day = NUM2INT(day);
|
1398
|
+
dt.hour = NUM2INT(hour);
|
1399
|
+
dt.minutes = NUM2INT(minutes);
|
1400
|
+
dt.seconds = NUM2INT(seconds);
|
1401
|
+
dt.ind = s[0];
|
1402
|
+
dt.off_hour = NUM2INT(off_hour);
|
1403
|
+
dt.off_minutes = NUM2INT(off_minuttes);
|
1404
|
+
|
1405
|
+
HPDF_PTRACE(("hpdf_set_info_attr pdf=%p\n", pdf));
|
1406
|
+
|
1407
|
+
ret = HPDF_SetInfoDateAttr(pdf, tp, dt);
|
1408
|
+
|
1409
|
+
return INT2NUM(ret);
|
1410
|
+
}
|
1411
|
+
|
1412
|
+
static VALUE
|
1413
|
+
hpdf_set_password (VALUE obj, VALUE owner_passwd, VALUE user_passwd)
|
1414
|
+
{
|
1415
|
+
HPDF_Doc pdf;
|
1416
|
+
const char *s1;
|
1417
|
+
const char *s2;
|
1418
|
+
HPDF_STATUS ret;
|
1419
|
+
|
1420
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
1421
|
+
s1 = STR2CSTR(owner_passwd);
|
1422
|
+
s2 = STR2CSTR(user_passwd);
|
1423
|
+
|
1424
|
+
HPDF_PTRACE(("hpdf_set_password pdf=%p\n", pdf));
|
1425
|
+
|
1426
|
+
ret = HPDF_SetPassword(pdf, s1, s2);
|
1427
|
+
|
1428
|
+
return INT2NUM(ret);
|
1429
|
+
}
|
1430
|
+
|
1431
|
+
static VALUE
|
1432
|
+
hpdf_set_permission (VALUE obj, VALUE permission)
|
1433
|
+
{
|
1434
|
+
HPDF_Doc pdf;
|
1435
|
+
HPDF_INT i;
|
1436
|
+
HPDF_STATUS ret;
|
1437
|
+
|
1438
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
1439
|
+
i = NUM2INT(permission);
|
1440
|
+
|
1441
|
+
HPDF_PTRACE(("hpdf_set_permission pdf=%p\n", pdf));
|
1442
|
+
|
1443
|
+
ret = HPDF_SetPermission(pdf, i);
|
1444
|
+
|
1445
|
+
return INT2NUM(ret);
|
1446
|
+
}
|
1447
|
+
|
1448
|
+
static VALUE
|
1449
|
+
hpdf_set_encryption_mode (VALUE obj, VALUE mode, VALUE key_len)
|
1450
|
+
{
|
1451
|
+
HPDF_Doc pdf;
|
1452
|
+
HPDF_INT i1;
|
1453
|
+
HPDF_INT i2;
|
1454
|
+
HPDF_STATUS ret;
|
1455
|
+
|
1456
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
1457
|
+
i1 = NUM2INT(mode);
|
1458
|
+
i2 = NUM2INT(key_len);
|
1459
|
+
|
1460
|
+
HPDF_PTRACE(("hpdf_set_encryption_mode pdf=%p\n", pdf));
|
1461
|
+
|
1462
|
+
ret = HPDF_SetEncryptionMode(pdf, i1, i2);
|
1463
|
+
|
1464
|
+
return INT2NUM(ret);
|
1465
|
+
}
|
1466
|
+
|
1467
|
+
static VALUE
|
1468
|
+
hpdf_set_compression_mode (VALUE obj, VALUE mode)
|
1469
|
+
{
|
1470
|
+
HPDF_Doc pdf;
|
1471
|
+
HPDF_INT i;
|
1472
|
+
HPDF_STATUS ret;
|
1473
|
+
|
1474
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
1475
|
+
i = NUM2INT(mode);
|
1476
|
+
|
1477
|
+
HPDF_PTRACE(("hpdf_set_compression_mode pdf=%p\n", pdf));
|
1478
|
+
|
1479
|
+
ret = HPDF_SetCompressionMode(pdf, i);
|
1480
|
+
|
1481
|
+
return INT2NUM(ret);
|
1482
|
+
}
|
1483
|
+
|
1484
|
+
|
1485
|
+
static VALUE
|
1486
|
+
hpdf_page_text_width (VALUE obj, VALUE text)
|
1487
|
+
{
|
1488
|
+
HPDF_Page page;
|
1489
|
+
HPDF_REAL f;
|
1490
|
+
const char *s;
|
1491
|
+
|
1492
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1493
|
+
s = STR2CSTR(text);
|
1494
|
+
|
1495
|
+
HPDF_PTRACE(("hpdf_page_text_width page=%p\n", page));
|
1496
|
+
|
1497
|
+
f = HPDF_Page_TextWidth(page, s);
|
1498
|
+
|
1499
|
+
return rb_float_new(f);
|
1500
|
+
}
|
1501
|
+
|
1502
|
+
static VALUE
|
1503
|
+
hpdf_page_measure_text (VALUE obj, VALUE text, VALUE width, VALUE wordwrap)
|
1504
|
+
{
|
1505
|
+
HPDF_Page page;
|
1506
|
+
const char *s;
|
1507
|
+
HPDF_INT i1;
|
1508
|
+
HPDF_INT i2;
|
1509
|
+
HPDF_INT ret;
|
1510
|
+
|
1511
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1512
|
+
s = STR2CSTR(text);
|
1513
|
+
i1 = NUM2INT(width);
|
1514
|
+
i2 = NUM2INT(wordwrap);
|
1515
|
+
|
1516
|
+
HPDF_PTRACE(("hpdf_page_test_width page=%p\n", page));
|
1517
|
+
|
1518
|
+
ret = HPDF_Page_MeasureText(page, s, i1, i2, NULL);
|
1519
|
+
|
1520
|
+
return INT2NUM(ret);
|
1521
|
+
}
|
1522
|
+
|
1523
|
+
|
1524
|
+
static VALUE
|
1525
|
+
hpdf_create_ext_gstate (VALUE obj)
|
1526
|
+
{
|
1527
|
+
HPDF_Doc pdf;
|
1528
|
+
HPDF_ExtGState gstate;
|
1529
|
+
|
1530
|
+
Data_Get_Struct(obj, HPDF_Doc_Rec, pdf);
|
1531
|
+
|
1532
|
+
HPDF_PTRACE(("hpdf_create_ext_gstate pdf=%p\n", pdf));
|
1533
|
+
|
1534
|
+
gstate = HPDF_CreateExtGState(pdf);
|
1535
|
+
|
1536
|
+
return Data_Wrap_Struct (rb_cHPDFExtGState, 0, 0, gstate);
|
1537
|
+
}
|
1538
|
+
|
1539
|
+
|
1540
|
+
static VALUE
|
1541
|
+
hpdf_ext_gstate_set_alpha_stroke (VALUE obj, VALUE value)
|
1542
|
+
{
|
1543
|
+
HPDF_ExtGState gstate;
|
1544
|
+
HPDF_STATUS ret;
|
1545
|
+
HPDF_REAL f;
|
1546
|
+
|
1547
|
+
f = NUM2DBL(value);
|
1548
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, gstate);
|
1549
|
+
|
1550
|
+
HPDF_PTRACE(("hpdf_ext_gstate_set_alpha_stroke page=%p\n", gstate));
|
1551
|
+
|
1552
|
+
ret = HPDF_ExtGState_SetAlphaStroke(gstate, f);
|
1553
|
+
|
1554
|
+
return INT2NUM(ret);
|
1555
|
+
}
|
1556
|
+
|
1557
|
+
|
1558
|
+
static VALUE
|
1559
|
+
hpdf_ext_gstate_set_alpha_fill (VALUE obj, VALUE value)
|
1560
|
+
{
|
1561
|
+
HPDF_ExtGState gstate;
|
1562
|
+
HPDF_STATUS ret;
|
1563
|
+
HPDF_REAL f;
|
1564
|
+
|
1565
|
+
f = NUM2DBL(value);
|
1566
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, gstate);
|
1567
|
+
|
1568
|
+
HPDF_PTRACE(("hpdf_ext_gstate_set_alpha_fill page=%p\n", gstate));
|
1569
|
+
|
1570
|
+
ret = HPDF_ExtGState_SetAlphaFill(gstate, f);
|
1571
|
+
|
1572
|
+
return INT2NUM(ret);
|
1573
|
+
}
|
1574
|
+
|
1575
|
+
|
1576
|
+
static VALUE
|
1577
|
+
hpdf_ext_gstate_set_blend_mode (VALUE obj, VALUE mode)
|
1578
|
+
{
|
1579
|
+
HPDF_ExtGState gstate;
|
1580
|
+
HPDF_STATUS ret;
|
1581
|
+
HPDF_INT i;
|
1582
|
+
|
1583
|
+
i = NUM2INT(mode);
|
1584
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, gstate);
|
1585
|
+
|
1586
|
+
HPDF_PTRACE(("hpdf_ext_gstate_set_blend_mode page=%p\n", gstate));
|
1587
|
+
|
1588
|
+
ret = HPDF_ExtGState_SetBlendMode(gstate, i);
|
1589
|
+
|
1590
|
+
return INT2NUM(ret);
|
1591
|
+
}
|
1592
|
+
|
1593
|
+
|
1594
|
+
static VALUE
|
1595
|
+
hpdf_page_set_ext_gstate (VALUE obj, VALUE gstate)
|
1596
|
+
{
|
1597
|
+
HPDF_Page page;
|
1598
|
+
HPDF_STATUS ret;
|
1599
|
+
HPDF_ExtGState gs;
|
1600
|
+
|
1601
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1602
|
+
Data_Get_Struct(gstate, HPDF_Dict_Rec, gs);
|
1603
|
+
|
1604
|
+
HPDF_PTRACE(("hpdf_page_set_ext_gstate page=%p\n", page));
|
1605
|
+
|
1606
|
+
ret = HPDF_Page_SetExtGState(page, gs);
|
1607
|
+
|
1608
|
+
return INT2NUM(ret);
|
1609
|
+
}
|
1610
|
+
|
1611
|
+
|
1612
|
+
static VALUE
|
1613
|
+
hpdf_page_get_width (VALUE obj)
|
1614
|
+
{
|
1615
|
+
HPDF_Page page;
|
1616
|
+
HPDF_REAL f;
|
1617
|
+
|
1618
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1619
|
+
|
1620
|
+
HPDF_PTRACE(("hpdf_page_get_width page=%p\n", page));
|
1621
|
+
|
1622
|
+
f = HPDF_Page_GetWidth(page);
|
1623
|
+
|
1624
|
+
return rb_float_new(f);
|
1625
|
+
}
|
1626
|
+
|
1627
|
+
static VALUE
|
1628
|
+
hpdf_page_get_height (VALUE obj)
|
1629
|
+
{
|
1630
|
+
HPDF_Page page;
|
1631
|
+
HPDF_REAL f;
|
1632
|
+
|
1633
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1634
|
+
|
1635
|
+
HPDF_PTRACE(("hpdf_page_get_height page=%p\n", page));
|
1636
|
+
|
1637
|
+
f = HPDF_Page_GetHeight(page);
|
1638
|
+
|
1639
|
+
return rb_float_new(f);
|
1640
|
+
}
|
1641
|
+
|
1642
|
+
static VALUE
|
1643
|
+
hpdf_page_get_gmode (VALUE obj)
|
1644
|
+
{
|
1645
|
+
HPDF_Page page;
|
1646
|
+
HPDF_UINT16 ret;
|
1647
|
+
|
1648
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1649
|
+
|
1650
|
+
HPDF_PTRACE(("hpdf_page_get_gmode page=%p\n", page));
|
1651
|
+
|
1652
|
+
ret = HPDF_Page_GetGMode(page);
|
1653
|
+
|
1654
|
+
return INT2NUM(ret);
|
1655
|
+
}
|
1656
|
+
|
1657
|
+
static VALUE
|
1658
|
+
hpdf_page_get_current_pos (VALUE obj)
|
1659
|
+
{
|
1660
|
+
HPDF_Page page;
|
1661
|
+
HPDF_Point p;
|
1662
|
+
VALUE ret;
|
1663
|
+
VALUE x;
|
1664
|
+
VALUE y;
|
1665
|
+
|
1666
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1667
|
+
|
1668
|
+
HPDF_PTRACE(("hpdf_page_get_current_pos page=%p\n", page));
|
1669
|
+
|
1670
|
+
p = HPDF_Page_GetCurrentPos(page);
|
1671
|
+
|
1672
|
+
ret = rb_ary_new();
|
1673
|
+
x = rb_float_new(p.x);
|
1674
|
+
y = rb_float_new(p.y);
|
1675
|
+
rb_ary_push(ret, x);
|
1676
|
+
rb_ary_push(ret, y);
|
1677
|
+
|
1678
|
+
return ret;
|
1679
|
+
}
|
1680
|
+
|
1681
|
+
static VALUE
|
1682
|
+
hpdf_page_get_current_text_pos (VALUE obj)
|
1683
|
+
{
|
1684
|
+
HPDF_Page page;
|
1685
|
+
HPDF_Point p;
|
1686
|
+
VALUE ret;
|
1687
|
+
VALUE x;
|
1688
|
+
VALUE y;
|
1689
|
+
|
1690
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1691
|
+
|
1692
|
+
HPDF_PTRACE(("hpdf_page_get_current_text_pos page=%p\n", page));
|
1693
|
+
|
1694
|
+
p = HPDF_Page_GetCurrentTextPos(page);
|
1695
|
+
|
1696
|
+
ret = rb_ary_new();
|
1697
|
+
x = rb_float_new(p.x);
|
1698
|
+
y = rb_float_new(p.y);
|
1699
|
+
rb_ary_push(ret, x);
|
1700
|
+
rb_ary_push(ret, y);
|
1701
|
+
|
1702
|
+
return ret;
|
1703
|
+
}
|
1704
|
+
|
1705
|
+
static VALUE
|
1706
|
+
hpdf_page_get_current_font (VALUE obj)
|
1707
|
+
{
|
1708
|
+
HPDF_Page page;
|
1709
|
+
HPDF_Font font;
|
1710
|
+
|
1711
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1712
|
+
|
1713
|
+
HPDF_PTRACE(("hpdf_page_get_current_font page=%p\n", page));
|
1714
|
+
|
1715
|
+
font = HPDF_Page_GetCurrentFont(page);
|
1716
|
+
|
1717
|
+
return Data_Wrap_Struct (rb_cHPDFFont, 0, 0, font);
|
1718
|
+
}
|
1719
|
+
|
1720
|
+
static VALUE
|
1721
|
+
hpdf_font_get_font_name (VALUE obj)
|
1722
|
+
{
|
1723
|
+
HPDF_Font font;
|
1724
|
+
const char* font_name;
|
1725
|
+
|
1726
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, font);
|
1727
|
+
|
1728
|
+
HPDF_PTRACE(("hpdf_font_get_font_name font=%p\n", font));
|
1729
|
+
|
1730
|
+
font_name = HPDF_Font_GetFontName(font);
|
1731
|
+
|
1732
|
+
return rb_str_new2(font_name);
|
1733
|
+
}
|
1734
|
+
|
1735
|
+
static VALUE
|
1736
|
+
hpdf_font_get_encoding_name (VALUE obj)
|
1737
|
+
{
|
1738
|
+
HPDF_Font font;
|
1739
|
+
const char* encoding_name;
|
1740
|
+
|
1741
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, font);
|
1742
|
+
|
1743
|
+
HPDF_PTRACE(("hpdf_font_get_encoding_name font=%p\n", font));
|
1744
|
+
|
1745
|
+
encoding_name = HPDF_Font_GetEncodingName(font);
|
1746
|
+
|
1747
|
+
return rb_str_new2(encoding_name);
|
1748
|
+
}
|
1749
|
+
|
1750
|
+
static VALUE
|
1751
|
+
hpdf_font_get_unicode_width (VALUE obj, VALUE code)
|
1752
|
+
{
|
1753
|
+
HPDF_Font font;
|
1754
|
+
HPDF_UINT i;
|
1755
|
+
HPDF_INT ret;
|
1756
|
+
|
1757
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, font);
|
1758
|
+
i = NUM2INT(code);
|
1759
|
+
|
1760
|
+
HPDF_PTRACE(("hpdf_font_get_unicode_width font=%p\n", font));
|
1761
|
+
|
1762
|
+
ret = HPDF_Font_GetUnicodeWidth(font, i);
|
1763
|
+
|
1764
|
+
return INT2NUM(ret);
|
1765
|
+
}
|
1766
|
+
|
1767
|
+
static VALUE
|
1768
|
+
hpdf_font_get_bbox (VALUE obj)
|
1769
|
+
{
|
1770
|
+
HPDF_Font font;
|
1771
|
+
HPDF_Rect rect;
|
1772
|
+
VALUE ret;
|
1773
|
+
VALUE left;
|
1774
|
+
VALUE bottom;
|
1775
|
+
VALUE right;
|
1776
|
+
VALUE top;
|
1777
|
+
|
1778
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, font);
|
1779
|
+
|
1780
|
+
HPDF_PTRACE(("hpdf_font_get_bbox font=%p\n", font));
|
1781
|
+
|
1782
|
+
rect = HPDF_Font_GetBBox(font);
|
1783
|
+
|
1784
|
+
ret = rb_ary_new();
|
1785
|
+
left = rb_float_new(rect.left);
|
1786
|
+
bottom = rb_float_new(rect.bottom);
|
1787
|
+
right = rb_float_new(rect.right);
|
1788
|
+
top = rb_float_new(rect.top);
|
1789
|
+
rb_ary_push(ret, left);
|
1790
|
+
rb_ary_push(ret, bottom);
|
1791
|
+
rb_ary_push(ret, right);
|
1792
|
+
rb_ary_push(ret, top);
|
1793
|
+
|
1794
|
+
return ret;
|
1795
|
+
}
|
1796
|
+
|
1797
|
+
static VALUE
|
1798
|
+
hpdf_font_get_ascent (VALUE obj)
|
1799
|
+
{
|
1800
|
+
HPDF_Font font;
|
1801
|
+
HPDF_INT i;
|
1802
|
+
|
1803
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, font);
|
1804
|
+
|
1805
|
+
HPDF_PTRACE(("hpdf_font_get_ascent font=%p\n", font));
|
1806
|
+
|
1807
|
+
i = HPDF_Font_GetAscent(font);
|
1808
|
+
|
1809
|
+
return NUM2INT(i);
|
1810
|
+
}
|
1811
|
+
|
1812
|
+
static VALUE
|
1813
|
+
hpdf_font_get_descent (VALUE obj)
|
1814
|
+
{
|
1815
|
+
HPDF_Font font;
|
1816
|
+
HPDF_INT i;
|
1817
|
+
|
1818
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, font);
|
1819
|
+
|
1820
|
+
HPDF_PTRACE(("hpdf_font_get_descent font=%p\n", font));
|
1821
|
+
|
1822
|
+
i = HPDF_Font_GetDescent(font);
|
1823
|
+
|
1824
|
+
return NUM2INT(i);
|
1825
|
+
}
|
1826
|
+
|
1827
|
+
static VALUE
|
1828
|
+
hpdf_font_get_x_height (VALUE obj)
|
1829
|
+
{
|
1830
|
+
HPDF_Font font;
|
1831
|
+
HPDF_UINT i;
|
1832
|
+
|
1833
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, font);
|
1834
|
+
|
1835
|
+
HPDF_PTRACE(("hpdf_font_get_x_height font=%p\n", font));
|
1836
|
+
|
1837
|
+
i = HPDF_Font_GetXHeight(font);
|
1838
|
+
|
1839
|
+
return NUM2INT(i);
|
1840
|
+
}
|
1841
|
+
|
1842
|
+
static VALUE
|
1843
|
+
hpdf_font_get_cap_height (VALUE obj)
|
1844
|
+
{
|
1845
|
+
HPDF_Font font;
|
1846
|
+
HPDF_UINT i;
|
1847
|
+
|
1848
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, font);
|
1849
|
+
|
1850
|
+
HPDF_PTRACE(("hpdf_font_get_cap_height font=%p\n", font));
|
1851
|
+
|
1852
|
+
i = HPDF_Font_GetCapHeight(font);
|
1853
|
+
|
1854
|
+
return NUM2INT(i);
|
1855
|
+
}
|
1856
|
+
|
1857
|
+
static VALUE
|
1858
|
+
hpdf_page_get_current_font_size (VALUE obj)
|
1859
|
+
{
|
1860
|
+
HPDF_Page page;
|
1861
|
+
HPDF_REAL f;
|
1862
|
+
|
1863
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1864
|
+
|
1865
|
+
HPDF_PTRACE(("hpdf_page_get_current_font_size page=%p\n", page));
|
1866
|
+
|
1867
|
+
f = HPDF_Page_GetCurrentFontSize(page);
|
1868
|
+
|
1869
|
+
return rb_float_new(f);
|
1870
|
+
}
|
1871
|
+
|
1872
|
+
static VALUE
|
1873
|
+
hpdf_page_get_trans_matrix (VALUE obj)
|
1874
|
+
{
|
1875
|
+
HPDF_Page page;
|
1876
|
+
HPDF_TransMatrix tm;
|
1877
|
+
VALUE ret;
|
1878
|
+
VALUE a;
|
1879
|
+
VALUE b;
|
1880
|
+
VALUE c;
|
1881
|
+
VALUE d;
|
1882
|
+
VALUE x;
|
1883
|
+
VALUE y;
|
1884
|
+
|
1885
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1886
|
+
|
1887
|
+
HPDF_PTRACE(("hpdf_page_get_trans_matrix page=%p\n", page));
|
1888
|
+
|
1889
|
+
tm = HPDF_Page_GetTransMatrix(page);
|
1890
|
+
|
1891
|
+
ret = rb_ary_new();
|
1892
|
+
a = rb_float_new(tm.a);
|
1893
|
+
b = rb_float_new(tm.b);
|
1894
|
+
c = rb_float_new(tm.c);
|
1895
|
+
d = rb_float_new(tm.d);
|
1896
|
+
x = rb_float_new(tm.x);
|
1897
|
+
y = rb_float_new(tm.y);
|
1898
|
+
rb_ary_push(ret, a);
|
1899
|
+
rb_ary_push(ret, b);
|
1900
|
+
rb_ary_push(ret, c);
|
1901
|
+
rb_ary_push(ret, d);
|
1902
|
+
rb_ary_push(ret, x);
|
1903
|
+
rb_ary_push(ret, y);
|
1904
|
+
|
1905
|
+
return ret;
|
1906
|
+
}
|
1907
|
+
|
1908
|
+
static VALUE
|
1909
|
+
hpdf_page_get_line_width (VALUE obj)
|
1910
|
+
{
|
1911
|
+
HPDF_Page page;
|
1912
|
+
HPDF_REAL f;
|
1913
|
+
|
1914
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1915
|
+
|
1916
|
+
HPDF_PTRACE(("hpdf_page_get_line_width page=%p\n", page));
|
1917
|
+
|
1918
|
+
f = HPDF_Page_GetLineWidth(page);
|
1919
|
+
|
1920
|
+
return rb_float_new(f);
|
1921
|
+
}
|
1922
|
+
|
1923
|
+
|
1924
|
+
static VALUE
|
1925
|
+
hpdf_page_get_line_cap (VALUE obj)
|
1926
|
+
{
|
1927
|
+
HPDF_Page page;
|
1928
|
+
HPDF_INT i;
|
1929
|
+
|
1930
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1931
|
+
|
1932
|
+
HPDF_PTRACE(("hpdf_page_get_line_cap page=%p\n", page));
|
1933
|
+
|
1934
|
+
i = HPDF_Page_GetLineCap(page);
|
1935
|
+
|
1936
|
+
return NUM2INT(i);
|
1937
|
+
}
|
1938
|
+
|
1939
|
+
static VALUE
|
1940
|
+
hpdf_page_get_line_join (VALUE obj)
|
1941
|
+
{
|
1942
|
+
HPDF_Page page;
|
1943
|
+
HPDF_INT i;
|
1944
|
+
|
1945
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1946
|
+
|
1947
|
+
HPDF_PTRACE(("hpdf_page_get_line_join page=%p\n", page));
|
1948
|
+
|
1949
|
+
i = HPDF_Page_GetLineJoin(page);
|
1950
|
+
|
1951
|
+
return NUM2INT(i);
|
1952
|
+
}
|
1953
|
+
|
1954
|
+
static VALUE
|
1955
|
+
hpdf_page_get_miter_limit (VALUE obj)
|
1956
|
+
{
|
1957
|
+
HPDF_Page page;
|
1958
|
+
HPDF_REAL f;
|
1959
|
+
|
1960
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1961
|
+
|
1962
|
+
HPDF_PTRACE(("hpdf_page_get_miter_limit page=%p\n", page));
|
1963
|
+
|
1964
|
+
f = HPDF_Page_GetMiterLimit(page);
|
1965
|
+
|
1966
|
+
return rb_float_new(f);
|
1967
|
+
}
|
1968
|
+
|
1969
|
+
static VALUE
|
1970
|
+
hpdf_page_get_dash (VALUE obj)
|
1971
|
+
{
|
1972
|
+
HPDF_Page page;
|
1973
|
+
HPDF_DashMode dm;
|
1974
|
+
VALUE ret;
|
1975
|
+
VALUE num_ptn;
|
1976
|
+
VALUE phase;
|
1977
|
+
HPDF_INT i;
|
1978
|
+
|
1979
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
1980
|
+
|
1981
|
+
HPDF_PTRACE(("hpdf_page_get_dash page=%p\n", page));
|
1982
|
+
|
1983
|
+
dm = HPDF_Page_GetDash(page);
|
1984
|
+
|
1985
|
+
ret = rb_ary_new();
|
1986
|
+
num_ptn = NUM2INT(dm.num_ptn);
|
1987
|
+
rb_ary_push(ret, num_ptn);
|
1988
|
+
|
1989
|
+
for (i = 0; i < dm.num_ptn; i++) {
|
1990
|
+
VALUE ptn = NUM2INT(dm.ptn[i]);
|
1991
|
+
rb_ary_push(ret, ptn);
|
1992
|
+
}
|
1993
|
+
|
1994
|
+
phase = NUM2INT(dm.phase);
|
1995
|
+
rb_ary_push(ret, phase);
|
1996
|
+
|
1997
|
+
return ret;
|
1998
|
+
}
|
1999
|
+
|
2000
|
+
static VALUE
|
2001
|
+
hpdf_page_get_flat (VALUE obj)
|
2002
|
+
{
|
2003
|
+
HPDF_Page page;
|
2004
|
+
HPDF_REAL f;
|
2005
|
+
|
2006
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2007
|
+
|
2008
|
+
HPDF_PTRACE(("hpdf_page_get_flat page=%p\n", page));
|
2009
|
+
|
2010
|
+
f = HPDF_Page_GetFlat(page);
|
2011
|
+
|
2012
|
+
return rb_float_new(f);
|
2013
|
+
}
|
2014
|
+
|
2015
|
+
static VALUE
|
2016
|
+
hpdf_page_get_char_space (VALUE obj)
|
2017
|
+
{
|
2018
|
+
HPDF_Page page;
|
2019
|
+
HPDF_REAL f;
|
2020
|
+
|
2021
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2022
|
+
|
2023
|
+
HPDF_PTRACE(("hpdf_page_get_char_space page=%p\n", page));
|
2024
|
+
|
2025
|
+
f = HPDF_Page_GetCharSpace(page);
|
2026
|
+
|
2027
|
+
return rb_float_new(f);
|
2028
|
+
}
|
2029
|
+
|
2030
|
+
static VALUE
|
2031
|
+
hpdf_page_get_word_space (VALUE obj)
|
2032
|
+
{
|
2033
|
+
HPDF_Page page;
|
2034
|
+
HPDF_REAL f;
|
2035
|
+
|
2036
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2037
|
+
|
2038
|
+
HPDF_PTRACE(("hpdf_page_get_word_space page=%p\n", page));
|
2039
|
+
|
2040
|
+
f = HPDF_Page_GetWordSpace(page);
|
2041
|
+
|
2042
|
+
return rb_float_new(f);
|
2043
|
+
}
|
2044
|
+
|
2045
|
+
static VALUE
|
2046
|
+
hpdf_page_get_horizontal_scalling (VALUE obj)
|
2047
|
+
{
|
2048
|
+
HPDF_Page page;
|
2049
|
+
HPDF_REAL f;
|
2050
|
+
|
2051
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2052
|
+
|
2053
|
+
HPDF_PTRACE(("hpdf_page_get_horizontal_scalling page=%p\n", page));
|
2054
|
+
|
2055
|
+
f = HPDF_Page_GetHorizontalScalling(page);
|
2056
|
+
|
2057
|
+
return rb_float_new(f);
|
2058
|
+
}
|
2059
|
+
|
2060
|
+
static VALUE
|
2061
|
+
hpdf_page_get_text_leading (VALUE obj)
|
2062
|
+
{
|
2063
|
+
HPDF_Page page;
|
2064
|
+
HPDF_REAL f;
|
2065
|
+
|
2066
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2067
|
+
|
2068
|
+
HPDF_PTRACE(("hpdf_page_get_text_leading page=%p\n", page));
|
2069
|
+
|
2070
|
+
f = HPDF_Page_GetTextLeading(page);
|
2071
|
+
|
2072
|
+
return rb_float_new(f);
|
2073
|
+
}
|
2074
|
+
|
2075
|
+
static VALUE
|
2076
|
+
hpdf_page_get_text_rendering_mode (VALUE obj)
|
2077
|
+
{
|
2078
|
+
HPDF_Page page;
|
2079
|
+
HPDF_INT i;
|
2080
|
+
|
2081
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2082
|
+
|
2083
|
+
HPDF_PTRACE(("hpdf_page_get_text_rendering_mode page=%p\n", page));
|
2084
|
+
|
2085
|
+
i = HPDF_Page_GetTextRenderingMode(page);
|
2086
|
+
|
2087
|
+
return NUM2INT(i);
|
2088
|
+
}
|
2089
|
+
|
2090
|
+
static VALUE
|
2091
|
+
hpdf_page_get_text_raise (VALUE obj)
|
2092
|
+
{
|
2093
|
+
HPDF_Page page;
|
2094
|
+
HPDF_REAL f;
|
2095
|
+
|
2096
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2097
|
+
|
2098
|
+
HPDF_PTRACE(("hpdf_page_get_text_raise page=%p\n", page));
|
2099
|
+
|
2100
|
+
f = HPDF_Page_GetTextRaise(page);
|
2101
|
+
|
2102
|
+
return rb_float_new(f);
|
2103
|
+
}
|
2104
|
+
|
2105
|
+
static VALUE
|
2106
|
+
hpdf_page_get_rgb_fill (VALUE obj)
|
2107
|
+
{
|
2108
|
+
HPDF_Page page;
|
2109
|
+
HPDF_RGBColor c;
|
2110
|
+
VALUE ret;
|
2111
|
+
VALUE r;
|
2112
|
+
VALUE g;
|
2113
|
+
VALUE b;
|
2114
|
+
|
2115
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2116
|
+
|
2117
|
+
HPDF_PTRACE(("hpdf_page_get_rgb_fill page=%p\n", page));
|
2118
|
+
|
2119
|
+
c = HPDF_Page_GetRGBFill(page);
|
2120
|
+
|
2121
|
+
ret = rb_ary_new();
|
2122
|
+
r = rb_float_new(c.r);
|
2123
|
+
g = rb_float_new(c.g);
|
2124
|
+
b = rb_float_new(c.b);
|
2125
|
+
rb_ary_push(ret, r);
|
2126
|
+
rb_ary_push(ret, g);
|
2127
|
+
rb_ary_push(ret, b);
|
2128
|
+
|
2129
|
+
return ret;
|
2130
|
+
}
|
2131
|
+
|
2132
|
+
static VALUE
|
2133
|
+
hpdf_page_get_rgb_stroke (VALUE obj)
|
2134
|
+
{
|
2135
|
+
HPDF_Page page;
|
2136
|
+
HPDF_RGBColor col;
|
2137
|
+
VALUE ret;
|
2138
|
+
VALUE r;
|
2139
|
+
VALUE g;
|
2140
|
+
VALUE b;
|
2141
|
+
|
2142
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2143
|
+
|
2144
|
+
HPDF_PTRACE(("hpdf_page_get_rgb_stroke page=%p\n", page));
|
2145
|
+
|
2146
|
+
col = HPDF_Page_GetRGBStroke(page);
|
2147
|
+
|
2148
|
+
ret = rb_ary_new();
|
2149
|
+
r = rb_float_new(col.r);
|
2150
|
+
g = rb_float_new(col.g);
|
2151
|
+
b = rb_float_new(col.b);
|
2152
|
+
rb_ary_push(ret, r);
|
2153
|
+
rb_ary_push(ret, g);
|
2154
|
+
rb_ary_push(ret, b);
|
2155
|
+
|
2156
|
+
return ret;
|
2157
|
+
}
|
2158
|
+
|
2159
|
+
static VALUE
|
2160
|
+
hpdf_page_get_cmyk_fill (VALUE obj)
|
2161
|
+
{
|
2162
|
+
HPDF_Page page;
|
2163
|
+
HPDF_CMYKColor col;
|
2164
|
+
VALUE ret;
|
2165
|
+
VALUE c;
|
2166
|
+
VALUE m;
|
2167
|
+
VALUE y;
|
2168
|
+
VALUE k;
|
2169
|
+
|
2170
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2171
|
+
|
2172
|
+
HPDF_PTRACE(("hpdf_page_get_cmyk_fill page=%p\n", page));
|
2173
|
+
|
2174
|
+
col = HPDF_Page_GetCMYKFill(page);
|
2175
|
+
|
2176
|
+
ret = rb_ary_new();
|
2177
|
+
c = rb_float_new(col.c);
|
2178
|
+
m = rb_float_new(col.m);
|
2179
|
+
y = rb_float_new(col.y);
|
2180
|
+
k = rb_float_new(col.k);
|
2181
|
+
rb_ary_push(ret, c);
|
2182
|
+
rb_ary_push(ret, m);
|
2183
|
+
rb_ary_push(ret, y);
|
2184
|
+
rb_ary_push(ret, k);
|
2185
|
+
|
2186
|
+
return ret;
|
2187
|
+
}
|
2188
|
+
|
2189
|
+
static VALUE
|
2190
|
+
hpdf_page_get_cmyk_stroke (VALUE obj)
|
2191
|
+
{
|
2192
|
+
HPDF_Page page;
|
2193
|
+
HPDF_CMYKColor col;
|
2194
|
+
VALUE ret;
|
2195
|
+
VALUE c;
|
2196
|
+
VALUE m;
|
2197
|
+
VALUE y;
|
2198
|
+
VALUE k;
|
2199
|
+
|
2200
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2201
|
+
|
2202
|
+
HPDF_PTRACE(("hpdf_page_get_cmyk_stroke page=%p\n", page));
|
2203
|
+
|
2204
|
+
col = HPDF_Page_GetCMYKStroke(page);
|
2205
|
+
|
2206
|
+
ret = rb_ary_new();
|
2207
|
+
c = rb_float_new(col.c);
|
2208
|
+
m = rb_float_new(col.m);
|
2209
|
+
y = rb_float_new(col.y);
|
2210
|
+
k = rb_float_new(col.k);
|
2211
|
+
rb_ary_push(ret, c);
|
2212
|
+
rb_ary_push(ret, m);
|
2213
|
+
rb_ary_push(ret, y);
|
2214
|
+
rb_ary_push(ret, k);
|
2215
|
+
|
2216
|
+
return ret;
|
2217
|
+
}
|
2218
|
+
|
2219
|
+
static VALUE
|
2220
|
+
hpdf_page_get_gray_fill (VALUE obj)
|
2221
|
+
{
|
2222
|
+
HPDF_Page page;
|
2223
|
+
HPDF_REAL f;
|
2224
|
+
|
2225
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2226
|
+
|
2227
|
+
HPDF_PTRACE(("hpdf_page_get_gray_fill page=%p\n", page));
|
2228
|
+
|
2229
|
+
f = HPDF_Page_GetGrayFill(page);
|
2230
|
+
|
2231
|
+
return rb_float_new(f);
|
2232
|
+
}
|
2233
|
+
|
2234
|
+
|
2235
|
+
static VALUE
|
2236
|
+
hpdf_page_get_gray_stroke (VALUE obj)
|
2237
|
+
{
|
2238
|
+
HPDF_Page page;
|
2239
|
+
HPDF_REAL f;
|
2240
|
+
|
2241
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2242
|
+
|
2243
|
+
HPDF_PTRACE(("hpdf_page_get_gray_stroke page=%p\n", page));
|
2244
|
+
|
2245
|
+
f = HPDF_Page_GetGrayStroke(page);
|
2246
|
+
|
2247
|
+
return rb_float_new(f);
|
2248
|
+
}
|
2249
|
+
|
2250
|
+
static VALUE
|
2251
|
+
hpdf_page_get_stroking_color_space (VALUE obj)
|
2252
|
+
{
|
2253
|
+
HPDF_Page page;
|
2254
|
+
HPDF_INT i;
|
2255
|
+
|
2256
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2257
|
+
|
2258
|
+
HPDF_PTRACE(("hpdf_page_get_stroking_color_space page=%p\n", page));
|
2259
|
+
|
2260
|
+
i = HPDF_Page_GetStrokingColorSpace(page);
|
2261
|
+
|
2262
|
+
return NUM2INT(i);
|
2263
|
+
}
|
2264
|
+
|
2265
|
+
static VALUE
|
2266
|
+
hpdf_page_get_filling_color_space (VALUE obj)
|
2267
|
+
{
|
2268
|
+
HPDF_Page page;
|
2269
|
+
HPDF_INT i;
|
2270
|
+
|
2271
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2272
|
+
|
2273
|
+
HPDF_PTRACE(("hpdf_page_get_filling_color_space page=%p\n", page));
|
2274
|
+
|
2275
|
+
i = HPDF_Page_GetFillingColorSpace(page);
|
2276
|
+
|
2277
|
+
return NUM2INT(i);
|
2278
|
+
}
|
2279
|
+
|
2280
|
+
static VALUE
|
2281
|
+
hpdf_page_get_text_matrix (VALUE obj)
|
2282
|
+
{
|
2283
|
+
HPDF_Page page;
|
2284
|
+
HPDF_TransMatrix tm;
|
2285
|
+
VALUE ret;
|
2286
|
+
VALUE a;
|
2287
|
+
VALUE b;
|
2288
|
+
VALUE c;
|
2289
|
+
VALUE d;
|
2290
|
+
VALUE x;
|
2291
|
+
VALUE y;
|
2292
|
+
|
2293
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2294
|
+
|
2295
|
+
HPDF_PTRACE(("hpdf_page_get_text_matrix page=%p\n", page));
|
2296
|
+
|
2297
|
+
tm = HPDF_Page_GetTextMatrix(page);
|
2298
|
+
|
2299
|
+
ret = rb_ary_new();
|
2300
|
+
a = rb_float_new(tm.a);
|
2301
|
+
b = rb_float_new(tm.b);
|
2302
|
+
c = rb_float_new(tm.c);
|
2303
|
+
d = rb_float_new(tm.d);
|
2304
|
+
x = rb_float_new(tm.x);
|
2305
|
+
y = rb_float_new(tm.y);
|
2306
|
+
rb_ary_push(ret, a);
|
2307
|
+
rb_ary_push(ret, b);
|
2308
|
+
rb_ary_push(ret, c);
|
2309
|
+
rb_ary_push(ret, d);
|
2310
|
+
rb_ary_push(ret, x);
|
2311
|
+
rb_ary_push(ret, y);
|
2312
|
+
|
2313
|
+
return ret;
|
2314
|
+
}
|
2315
|
+
|
2316
|
+
|
2317
|
+
static VALUE
|
2318
|
+
hpdf_page_set_line_width (VALUE obj, VALUE line_width)
|
2319
|
+
{
|
2320
|
+
HPDF_Page page;
|
2321
|
+
HPDF_STATUS ret;
|
2322
|
+
HPDF_REAL f;
|
2323
|
+
|
2324
|
+
f = NUM2DBL(line_width);
|
2325
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2326
|
+
|
2327
|
+
HPDF_PTRACE(("hpdf_page_set_line_width page=%p\n", page));
|
2328
|
+
|
2329
|
+
ret = HPDF_Page_SetLineWidth(page, f);
|
2330
|
+
|
2331
|
+
return INT2NUM(ret);
|
2332
|
+
}
|
2333
|
+
|
2334
|
+
static VALUE
|
2335
|
+
hpdf_page_set_line_cap (VALUE obj, VALUE line_cap)
|
2336
|
+
{
|
2337
|
+
HPDF_Page page;
|
2338
|
+
HPDF_STATUS ret;
|
2339
|
+
HPDF_INT i;
|
2340
|
+
|
2341
|
+
i = NUM2INT(line_cap);
|
2342
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2343
|
+
|
2344
|
+
HPDF_PTRACE(("hpdf_page_set_line_cap page=%p\n", page));
|
2345
|
+
|
2346
|
+
ret = HPDF_Page_SetLineCap(page, i);
|
2347
|
+
|
2348
|
+
return INT2NUM(ret);
|
2349
|
+
}
|
2350
|
+
|
2351
|
+
static VALUE
|
2352
|
+
hpdf_page_set_line_join (VALUE obj, VALUE line_join)
|
2353
|
+
{
|
2354
|
+
HPDF_Page page;
|
2355
|
+
HPDF_STATUS ret;
|
2356
|
+
HPDF_REAL f;
|
2357
|
+
|
2358
|
+
f = NUM2DBL(line_join);
|
2359
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2360
|
+
|
2361
|
+
HPDF_PTRACE(("hpdf_page_set_line_join page=%p\n", page));
|
2362
|
+
|
2363
|
+
ret = HPDF_Page_SetLineCap(page, f);
|
2364
|
+
|
2365
|
+
return INT2NUM(ret);
|
2366
|
+
}
|
2367
|
+
|
2368
|
+
static VALUE
|
2369
|
+
hpdf_page_set_miter_limit (VALUE obj, VALUE miter_limit)
|
2370
|
+
{
|
2371
|
+
HPDF_Page page;
|
2372
|
+
HPDF_STATUS ret;
|
2373
|
+
HPDF_REAL f;
|
2374
|
+
|
2375
|
+
f = NUM2DBL(miter_limit);
|
2376
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2377
|
+
|
2378
|
+
HPDF_PTRACE(("hpdf_page_set_miter_limit page=%p\n", page));
|
2379
|
+
|
2380
|
+
ret = HPDF_Page_SetMiterLimit(page, f);
|
2381
|
+
|
2382
|
+
return INT2NUM(ret);
|
2383
|
+
}
|
2384
|
+
|
2385
|
+
static VALUE
|
2386
|
+
hpdf_page_set_dash (VALUE obj, VALUE ptn, VALUE phase)
|
2387
|
+
{
|
2388
|
+
HPDF_Page page;
|
2389
|
+
HPDF_STATUS ret;
|
2390
|
+
HPDF_UINT16 dash_ptn[8];
|
2391
|
+
HPDF_UINT num_ptn;
|
2392
|
+
VALUE *pptn;
|
2393
|
+
HPDF_UINT dash_phase;
|
2394
|
+
HPDF_UINT i;
|
2395
|
+
|
2396
|
+
if (TYPE(ptn) != T_ARRAY)
|
2397
|
+
rb_raise(rb_eHPDFError, "argument 1 must be an array.");
|
2398
|
+
|
2399
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2400
|
+
|
2401
|
+
HPDF_PTRACE(("hpdf_page_set_dash page=%p\n", page));
|
2402
|
+
|
2403
|
+
dash_phase = NUM2INT(phase);
|
2404
|
+
num_ptn = RARRAY(ptn)->len;
|
2405
|
+
if (!num_ptn) {
|
2406
|
+
ret = HPDF_Page_SetDash(page, NULL, 0, 0);
|
2407
|
+
return INT2NUM(ret);
|
2408
|
+
}
|
2409
|
+
|
2410
|
+
for (i = 0; i < 8; i++)
|
2411
|
+
dash_ptn[i] = 0;
|
2412
|
+
|
2413
|
+
pptn = RARRAY(ptn)->ptr;
|
2414
|
+
for (i = 0; i < num_ptn; i++) {
|
2415
|
+
dash_ptn[i] = NUM2INT(*pptn);
|
2416
|
+
|
2417
|
+
pptn++;
|
2418
|
+
}
|
2419
|
+
|
2420
|
+
ret = HPDF_Page_SetDash(page, dash_ptn, num_ptn, dash_phase);
|
2421
|
+
|
2422
|
+
return INT2NUM(ret);
|
2423
|
+
}
|
2424
|
+
|
2425
|
+
static VALUE
|
2426
|
+
hpdf_page_set_flat (VALUE obj, VALUE flatness)
|
2427
|
+
{
|
2428
|
+
HPDF_Page page;
|
2429
|
+
HPDF_STATUS ret;
|
2430
|
+
HPDF_REAL f;
|
2431
|
+
|
2432
|
+
f = NUM2DBL(flatness);
|
2433
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2434
|
+
|
2435
|
+
HPDF_PTRACE(("hpdf_page_set_flat page=%p\n", page));
|
2436
|
+
|
2437
|
+
ret = HPDF_Page_SetFlat(page, f);
|
2438
|
+
|
2439
|
+
return INT2NUM(ret);
|
2440
|
+
}
|
2441
|
+
|
2442
|
+
|
2443
|
+
static VALUE
|
2444
|
+
hpdf_page_gsave (VALUE obj)
|
2445
|
+
{
|
2446
|
+
HPDF_Page page;
|
2447
|
+
HPDF_STATUS ret;
|
2448
|
+
|
2449
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2450
|
+
|
2451
|
+
HPDF_PTRACE(("hpdf_page_gsave page=%p\n", page));
|
2452
|
+
|
2453
|
+
ret = HPDF_Page_GSave(page);
|
2454
|
+
|
2455
|
+
return INT2NUM(ret);
|
2456
|
+
}
|
2457
|
+
|
2458
|
+
static VALUE
|
2459
|
+
hpdf_page_grestore (VALUE obj)
|
2460
|
+
{
|
2461
|
+
HPDF_Page page;
|
2462
|
+
HPDF_STATUS ret;
|
2463
|
+
|
2464
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2465
|
+
|
2466
|
+
HPDF_PTRACE(("hpdf_page_grestore page=%p\n", page));
|
2467
|
+
|
2468
|
+
ret = HPDF_Page_GRestore(page);
|
2469
|
+
|
2470
|
+
return INT2NUM(ret);
|
2471
|
+
}
|
2472
|
+
|
2473
|
+
static VALUE
|
2474
|
+
hpdf_page_get_gstate_depth (VALUE obj)
|
2475
|
+
{
|
2476
|
+
HPDF_Page page;
|
2477
|
+
HPDF_UINT ret;
|
2478
|
+
|
2479
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2480
|
+
|
2481
|
+
HPDF_PTRACE(("hpdf_page_get_gstate_depth page=%p\n", page));
|
2482
|
+
|
2483
|
+
ret = HPDF_Page_GetGStateDepth(page);
|
2484
|
+
|
2485
|
+
return INT2NUM(ret);
|
2486
|
+
}
|
2487
|
+
|
2488
|
+
|
2489
|
+
static VALUE
|
2490
|
+
hpdf_page_concat (VALUE obj, VALUE a, VALUE b, VALUE c, VALUE d, VALUE x, VALUE y)
|
2491
|
+
{
|
2492
|
+
HPDF_Page page;
|
2493
|
+
HPDF_STATUS ret;
|
2494
|
+
HPDF_REAL f1;
|
2495
|
+
HPDF_REAL f2;
|
2496
|
+
HPDF_REAL f3;
|
2497
|
+
HPDF_REAL f4;
|
2498
|
+
HPDF_REAL f5;
|
2499
|
+
HPDF_REAL f6;
|
2500
|
+
|
2501
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2502
|
+
f1 = NUM2DBL(a);
|
2503
|
+
f2 = NUM2DBL(b);
|
2504
|
+
f3 = NUM2DBL(c);
|
2505
|
+
f4 = NUM2DBL(d);
|
2506
|
+
f5 = NUM2DBL(x);
|
2507
|
+
f6 = NUM2DBL(y);
|
2508
|
+
|
2509
|
+
HPDF_PTRACE(("hpdf_page_concat page=%p\n", page));
|
2510
|
+
|
2511
|
+
ret = HPDF_Page_Concat(page, f1, f2, f3, f4, f5, f6);
|
2512
|
+
|
2513
|
+
return INT2NUM(ret);
|
2514
|
+
}
|
2515
|
+
|
2516
|
+
|
2517
|
+
static VALUE
|
2518
|
+
hpdf_page_move_to (VALUE obj, VALUE x, VALUE y)
|
2519
|
+
{
|
2520
|
+
HPDF_Page page;
|
2521
|
+
HPDF_STATUS ret;
|
2522
|
+
HPDF_REAL f1;
|
2523
|
+
HPDF_REAL f2;
|
2524
|
+
|
2525
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2526
|
+
f1 = NUM2DBL(x);
|
2527
|
+
f2 = NUM2DBL(y);
|
2528
|
+
|
2529
|
+
HPDF_PTRACE(("hpdf_page_move_to page=%p\n", page));
|
2530
|
+
|
2531
|
+
ret = HPDF_Page_MoveTo(page, f1, f2);
|
2532
|
+
|
2533
|
+
return INT2NUM(ret);
|
2534
|
+
}
|
2535
|
+
|
2536
|
+
static VALUE
|
2537
|
+
hpdf_page_line_to (VALUE obj, VALUE x, VALUE y)
|
2538
|
+
{
|
2539
|
+
HPDF_Page page;
|
2540
|
+
HPDF_STATUS ret;
|
2541
|
+
HPDF_REAL f1;
|
2542
|
+
HPDF_REAL f2;
|
2543
|
+
|
2544
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2545
|
+
f1 = NUM2DBL(x);
|
2546
|
+
f2 = NUM2DBL(y);
|
2547
|
+
|
2548
|
+
HPDF_PTRACE(("hpdf_page_line_to page=%p\n", page));
|
2549
|
+
|
2550
|
+
ret = HPDF_Page_LineTo(page, f1, f2);
|
2551
|
+
|
2552
|
+
return INT2NUM(ret);
|
2553
|
+
}
|
2554
|
+
|
2555
|
+
static VALUE
|
2556
|
+
hpdf_page_curve_to (VALUE obj, VALUE x1, VALUE y1, VALUE x2, VALUE y2, VALUE x3, VALUE y3)
|
2557
|
+
{
|
2558
|
+
HPDF_Page page;
|
2559
|
+
HPDF_STATUS ret;
|
2560
|
+
HPDF_REAL f1;
|
2561
|
+
HPDF_REAL f2;
|
2562
|
+
HPDF_REAL f3;
|
2563
|
+
HPDF_REAL f4;
|
2564
|
+
HPDF_REAL f5;
|
2565
|
+
HPDF_REAL f6;
|
2566
|
+
|
2567
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2568
|
+
f1 = NUM2DBL(x1);
|
2569
|
+
f2 = NUM2DBL(y1);
|
2570
|
+
f3 = NUM2DBL(x2);
|
2571
|
+
f4 = NUM2DBL(y2);
|
2572
|
+
f5 = NUM2DBL(x3);
|
2573
|
+
f6 = NUM2DBL(y3);
|
2574
|
+
|
2575
|
+
HPDF_PTRACE(("hpdf_page_curve_to page=%p\n", page));
|
2576
|
+
|
2577
|
+
ret = HPDF_Page_CurveTo(page, f1, f2, f3, f4, f5, f6);
|
2578
|
+
|
2579
|
+
return INT2NUM(ret);
|
2580
|
+
}
|
2581
|
+
|
2582
|
+
static VALUE
|
2583
|
+
hpdf_page_curve_to2 (VALUE obj, VALUE x2, VALUE y2, VALUE x3, VALUE y3)
|
2584
|
+
{
|
2585
|
+
HPDF_Page page;
|
2586
|
+
HPDF_STATUS ret;
|
2587
|
+
HPDF_REAL f1;
|
2588
|
+
HPDF_REAL f2;
|
2589
|
+
HPDF_REAL f3;
|
2590
|
+
HPDF_REAL f4;
|
2591
|
+
|
2592
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2593
|
+
f1 = NUM2DBL(x2);
|
2594
|
+
f2 = NUM2DBL(y2);
|
2595
|
+
f3 = NUM2DBL(x3);
|
2596
|
+
f4 = NUM2DBL(y3);
|
2597
|
+
|
2598
|
+
HPDF_PTRACE(("hpdf_page_curve_to2 page=%p\n", page));
|
2599
|
+
|
2600
|
+
ret = HPDF_Page_CurveTo2(page, f1, f2, f3, f4);
|
2601
|
+
|
2602
|
+
return INT2NUM(ret);
|
2603
|
+
}
|
2604
|
+
|
2605
|
+
static VALUE
|
2606
|
+
hpdf_page_curve_to3 (VALUE obj, VALUE x1, VALUE y1, VALUE x3, VALUE y3)
|
2607
|
+
{
|
2608
|
+
HPDF_Page page;
|
2609
|
+
HPDF_STATUS ret;
|
2610
|
+
HPDF_REAL f1;
|
2611
|
+
HPDF_REAL f2;
|
2612
|
+
HPDF_REAL f3;
|
2613
|
+
HPDF_REAL f4;
|
2614
|
+
|
2615
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2616
|
+
f1 = NUM2DBL(x1);
|
2617
|
+
f2 = NUM2DBL(y1);
|
2618
|
+
f3 = NUM2DBL(x3);
|
2619
|
+
f4 = NUM2DBL(y3);
|
2620
|
+
|
2621
|
+
HPDF_PTRACE(("hpdf_page_curve_to3 page=%p\n", page));
|
2622
|
+
|
2623
|
+
ret = HPDF_Page_CurveTo3(page, f1, f2, f3, f4);
|
2624
|
+
|
2625
|
+
return INT2NUM(ret);
|
2626
|
+
}
|
2627
|
+
|
2628
|
+
static VALUE
|
2629
|
+
hpdf_page_close_path (VALUE obj)
|
2630
|
+
{
|
2631
|
+
HPDF_Page page;
|
2632
|
+
HPDF_STATUS ret;
|
2633
|
+
|
2634
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2635
|
+
|
2636
|
+
HPDF_PTRACE(("hpdf_page_close_path page=%p\n", page));
|
2637
|
+
|
2638
|
+
ret = HPDF_Page_ClosePath(page);
|
2639
|
+
|
2640
|
+
return INT2NUM(ret);
|
2641
|
+
}
|
2642
|
+
|
2643
|
+
static VALUE
|
2644
|
+
hpdf_page_rectangle (VALUE obj, VALUE x, VALUE y, VALUE width, VALUE height)
|
2645
|
+
{
|
2646
|
+
HPDF_Page page;
|
2647
|
+
HPDF_STATUS ret;
|
2648
|
+
HPDF_REAL f1;
|
2649
|
+
HPDF_REAL f2;
|
2650
|
+
HPDF_REAL f3;
|
2651
|
+
HPDF_REAL f4;
|
2652
|
+
|
2653
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2654
|
+
f1 = NUM2DBL(x);
|
2655
|
+
f2 = NUM2DBL(y);
|
2656
|
+
f3 = NUM2DBL(width);
|
2657
|
+
f4 = NUM2DBL(height);
|
2658
|
+
|
2659
|
+
HPDF_PTRACE(("hpdf_page_curve_to page=%p\n", page));
|
2660
|
+
|
2661
|
+
ret = HPDF_Page_Rectangle(page, f1, f2, f3, f4);
|
2662
|
+
|
2663
|
+
return INT2NUM(ret);
|
2664
|
+
}
|
2665
|
+
|
2666
|
+
static VALUE
|
2667
|
+
hpdf_page_stroke (VALUE obj)
|
2668
|
+
{
|
2669
|
+
HPDF_Page page;
|
2670
|
+
HPDF_STATUS ret;
|
2671
|
+
|
2672
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2673
|
+
|
2674
|
+
HPDF_PTRACE(("hpdf_page_stroke page=%p\n", page));
|
2675
|
+
|
2676
|
+
ret = HPDF_Page_Stroke(page);
|
2677
|
+
|
2678
|
+
return INT2NUM(ret);
|
2679
|
+
}
|
2680
|
+
|
2681
|
+
static VALUE
|
2682
|
+
hpdf_page_close_path_stroke (VALUE obj)
|
2683
|
+
{
|
2684
|
+
HPDF_Page page;
|
2685
|
+
HPDF_STATUS ret;
|
2686
|
+
|
2687
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2688
|
+
|
2689
|
+
HPDF_PTRACE(("hpdf_page_close_path_stroke page=%p\n", page));
|
2690
|
+
|
2691
|
+
ret = HPDF_Page_ClosePathStroke(page);
|
2692
|
+
|
2693
|
+
return INT2NUM(ret);
|
2694
|
+
}
|
2695
|
+
|
2696
|
+
static VALUE
|
2697
|
+
hpdf_page_fill (VALUE obj)
|
2698
|
+
{
|
2699
|
+
HPDF_Page page;
|
2700
|
+
HPDF_STATUS ret;
|
2701
|
+
|
2702
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2703
|
+
|
2704
|
+
HPDF_PTRACE(("hpdf_page_fill page=%p\n", page));
|
2705
|
+
|
2706
|
+
ret = HPDF_Page_Fill(page);
|
2707
|
+
|
2708
|
+
return INT2NUM(ret);
|
2709
|
+
}
|
2710
|
+
|
2711
|
+
static VALUE
|
2712
|
+
hpdf_page_eofill (VALUE obj)
|
2713
|
+
{
|
2714
|
+
HPDF_Page page;
|
2715
|
+
HPDF_STATUS ret;
|
2716
|
+
|
2717
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2718
|
+
|
2719
|
+
HPDF_PTRACE(("hpdf_page_eofill page=%p\n", page));
|
2720
|
+
|
2721
|
+
ret = HPDF_Page_Eofill(page);
|
2722
|
+
|
2723
|
+
return INT2NUM(ret);
|
2724
|
+
}
|
2725
|
+
|
2726
|
+
static VALUE
|
2727
|
+
hpdf_page_fill_stroke (VALUE obj)
|
2728
|
+
{
|
2729
|
+
HPDF_Page page;
|
2730
|
+
HPDF_STATUS ret;
|
2731
|
+
|
2732
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2733
|
+
|
2734
|
+
HPDF_PTRACE(("hpdf_page_fill_stroke page=%p\n", page));
|
2735
|
+
|
2736
|
+
ret = HPDF_Page_FillStroke(page);
|
2737
|
+
|
2738
|
+
return INT2NUM(ret);
|
2739
|
+
}
|
2740
|
+
|
2741
|
+
static VALUE
|
2742
|
+
hpdf_page_eofill_stroke (VALUE obj)
|
2743
|
+
{
|
2744
|
+
HPDF_Page page;
|
2745
|
+
HPDF_STATUS ret;
|
2746
|
+
|
2747
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2748
|
+
|
2749
|
+
HPDF_PTRACE(("hpdf_page_eofill_stroke page=%p\n", page));
|
2750
|
+
|
2751
|
+
ret = HPDF_Page_EofillStroke(page);
|
2752
|
+
|
2753
|
+
return INT2NUM(ret);
|
2754
|
+
}
|
2755
|
+
|
2756
|
+
static VALUE
|
2757
|
+
hpdf_page_close_path_fill_stroke (VALUE obj)
|
2758
|
+
{
|
2759
|
+
HPDF_Page page;
|
2760
|
+
HPDF_STATUS ret;
|
2761
|
+
|
2762
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2763
|
+
|
2764
|
+
HPDF_PTRACE(("hpdf_page_close_path_fill_stroke page=%p\n", page));
|
2765
|
+
|
2766
|
+
ret = HPDF_Page_ClosePathFillStroke(page);
|
2767
|
+
|
2768
|
+
return INT2NUM(ret);
|
2769
|
+
}
|
2770
|
+
|
2771
|
+
static VALUE
|
2772
|
+
hpdf_page_close_path_eofill_stroke (VALUE obj)
|
2773
|
+
{
|
2774
|
+
HPDF_Page page;
|
2775
|
+
HPDF_STATUS ret;
|
2776
|
+
|
2777
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2778
|
+
|
2779
|
+
HPDF_PTRACE(("hpdf_page_close_path_eofill_stroke page=%p\n", page));
|
2780
|
+
|
2781
|
+
ret = HPDF_Page_ClosePathEofillStroke(page);
|
2782
|
+
|
2783
|
+
return INT2NUM(ret);
|
2784
|
+
}
|
2785
|
+
|
2786
|
+
static VALUE
|
2787
|
+
hpdf_page_end_path (VALUE obj)
|
2788
|
+
{
|
2789
|
+
HPDF_Page page;
|
2790
|
+
HPDF_STATUS ret;
|
2791
|
+
|
2792
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2793
|
+
|
2794
|
+
HPDF_PTRACE(("hpdf_page_end_path page=%p\n", page));
|
2795
|
+
|
2796
|
+
ret = HPDF_Page_EndPath(page);
|
2797
|
+
|
2798
|
+
return INT2NUM(ret);
|
2799
|
+
}
|
2800
|
+
|
2801
|
+
static VALUE
|
2802
|
+
hpdf_page_clip (VALUE obj)
|
2803
|
+
{
|
2804
|
+
HPDF_Page page;
|
2805
|
+
HPDF_STATUS ret;
|
2806
|
+
|
2807
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2808
|
+
|
2809
|
+
HPDF_PTRACE(("hpdf_page_end_path page=%p\n", page));
|
2810
|
+
|
2811
|
+
ret = HPDF_Page_Clip(page);
|
2812
|
+
|
2813
|
+
return INT2NUM(ret);
|
2814
|
+
}
|
2815
|
+
|
2816
|
+
static VALUE
|
2817
|
+
hpdf_page_eoclip (VALUE obj)
|
2818
|
+
{
|
2819
|
+
HPDF_Page page;
|
2820
|
+
HPDF_STATUS ret;
|
2821
|
+
|
2822
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2823
|
+
|
2824
|
+
HPDF_PTRACE(("hpdf_page_eoclip page=%p\n", page));
|
2825
|
+
|
2826
|
+
ret = HPDF_Page_Eoclip(page);
|
2827
|
+
|
2828
|
+
return INT2NUM(ret);
|
2829
|
+
}
|
2830
|
+
|
2831
|
+
static VALUE
|
2832
|
+
hpdf_page_begin_text (VALUE obj)
|
2833
|
+
{
|
2834
|
+
HPDF_Page page;
|
2835
|
+
HPDF_STATUS ret;
|
2836
|
+
|
2837
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2838
|
+
|
2839
|
+
HPDF_PTRACE(("hpdf_page_begin_text page=%p\n", page));
|
2840
|
+
|
2841
|
+
ret = HPDF_Page_BeginText(page);
|
2842
|
+
|
2843
|
+
return INT2NUM(ret);
|
2844
|
+
}
|
2845
|
+
|
2846
|
+
static VALUE
|
2847
|
+
hpdf_page_end_text (VALUE obj)
|
2848
|
+
{
|
2849
|
+
HPDF_Page page;
|
2850
|
+
HPDF_STATUS ret;
|
2851
|
+
|
2852
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2853
|
+
|
2854
|
+
HPDF_PTRACE(("hpdf_page_end_text page=%p\n", page));
|
2855
|
+
|
2856
|
+
ret = HPDF_Page_EndText(page);
|
2857
|
+
|
2858
|
+
return INT2NUM(ret);
|
2859
|
+
}
|
2860
|
+
|
2861
|
+
static VALUE
|
2862
|
+
hpdf_page_set_char_space (VALUE obj, VALUE char_space)
|
2863
|
+
{
|
2864
|
+
HPDF_Page page;
|
2865
|
+
HPDF_STATUS ret;
|
2866
|
+
HPDF_REAL f;
|
2867
|
+
|
2868
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2869
|
+
f = NUM2DBL(char_space);
|
2870
|
+
|
2871
|
+
HPDF_PTRACE(("hpdf_page_set_char_space page=%p\n", page));
|
2872
|
+
|
2873
|
+
ret = HPDF_Page_SetCharSpace(page, f);
|
2874
|
+
|
2875
|
+
return INT2NUM(ret);
|
2876
|
+
}
|
2877
|
+
|
2878
|
+
static VALUE
|
2879
|
+
hpdf_page_set_word_space (VALUE obj, VALUE word_space)
|
2880
|
+
{
|
2881
|
+
HPDF_Page page;
|
2882
|
+
HPDF_STATUS ret;
|
2883
|
+
HPDF_REAL f;
|
2884
|
+
|
2885
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2886
|
+
f = NUM2DBL(word_space);
|
2887
|
+
|
2888
|
+
HPDF_PTRACE(("hpdf_page_set_word_space page=%p\n", page));
|
2889
|
+
|
2890
|
+
ret = HPDF_Page_SetWordSpace(page, f);
|
2891
|
+
|
2892
|
+
return INT2NUM(ret);
|
2893
|
+
}
|
2894
|
+
|
2895
|
+
static VALUE
|
2896
|
+
hpdf_page_set_horizontal_scalling (VALUE obj, VALUE scalling)
|
2897
|
+
{
|
2898
|
+
HPDF_Page page;
|
2899
|
+
HPDF_STATUS ret;
|
2900
|
+
HPDF_REAL f;
|
2901
|
+
|
2902
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2903
|
+
f = NUM2DBL(scalling);
|
2904
|
+
|
2905
|
+
HPDF_PTRACE(("hpdf_page_set_horizontal_scalling page=%p\n", page));
|
2906
|
+
|
2907
|
+
ret = HPDF_Page_SetHorizontalScalling(page, f);
|
2908
|
+
|
2909
|
+
return INT2NUM(ret);
|
2910
|
+
}
|
2911
|
+
|
2912
|
+
static VALUE
|
2913
|
+
hpdf_page_set_text_leading (VALUE obj, VALUE leading)
|
2914
|
+
{
|
2915
|
+
HPDF_Page page;
|
2916
|
+
HPDF_STATUS ret;
|
2917
|
+
HPDF_REAL f;
|
2918
|
+
|
2919
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2920
|
+
f = NUM2DBL(leading);
|
2921
|
+
|
2922
|
+
HPDF_PTRACE(("hpdf_page_set_text_leading page=%p\n", page));
|
2923
|
+
|
2924
|
+
ret = HPDF_Page_SetTextLeading(page, f);
|
2925
|
+
|
2926
|
+
return INT2NUM(ret);
|
2927
|
+
}
|
2928
|
+
|
2929
|
+
static VALUE
|
2930
|
+
hpdf_page_set_font_and_size (VALUE obj, VALUE font, VALUE size)
|
2931
|
+
{
|
2932
|
+
HPDF_Page page;
|
2933
|
+
HPDF_STATUS ret;
|
2934
|
+
HPDF_REAL f;
|
2935
|
+
HPDF_Font fo;
|
2936
|
+
|
2937
|
+
if (HPDF_StrCmp(rb_obj_classname(font), "HPDFFont") != 0)
|
2938
|
+
rb_raise(rb_eHPDFError, "invalid argument(1).");
|
2939
|
+
|
2940
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2941
|
+
Data_Get_Struct(font, HPDF_Dict_Rec, fo);
|
2942
|
+
f = NUM2DBL(size);
|
2943
|
+
|
2944
|
+
HPDF_PTRACE(("hpdf_page_set_text_leading page=%p\n", page));
|
2945
|
+
|
2946
|
+
ret = HPDF_Page_SetFontAndSize(page, fo, f);
|
2947
|
+
|
2948
|
+
return INT2NUM(ret);
|
2949
|
+
}
|
2950
|
+
|
2951
|
+
static VALUE
|
2952
|
+
hpdf_page_set_text_rendering_mode (VALUE obj, VALUE mode)
|
2953
|
+
{
|
2954
|
+
HPDF_Page page;
|
2955
|
+
HPDF_STATUS ret;
|
2956
|
+
HPDF_INT i;
|
2957
|
+
|
2958
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2959
|
+
i = NUM2INT(mode);
|
2960
|
+
|
2961
|
+
HPDF_PTRACE(("hpdf_page_set_text_leading page=%p\n", page));
|
2962
|
+
|
2963
|
+
ret = HPDF_Page_SetTextRenderingMode(page, i);
|
2964
|
+
|
2965
|
+
return INT2NUM(ret);
|
2966
|
+
}
|
2967
|
+
|
2968
|
+
static VALUE
|
2969
|
+
hpdf_page_set_text_raise (VALUE obj, VALUE raise)
|
2970
|
+
{
|
2971
|
+
HPDF_Page page;
|
2972
|
+
HPDF_STATUS ret;
|
2973
|
+
HPDF_REAL f;
|
2974
|
+
|
2975
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2976
|
+
f = NUM2DBL(raise);
|
2977
|
+
|
2978
|
+
HPDF_PTRACE(("hpdf_page_set_text_raise page=%p\n", page));
|
2979
|
+
|
2980
|
+
ret = HPDF_Page_SetTextRaise(page, f);
|
2981
|
+
|
2982
|
+
return INT2NUM(ret);
|
2983
|
+
}
|
2984
|
+
|
2985
|
+
static VALUE
|
2986
|
+
hpdf_page_move_text_pos (VALUE obj, VALUE x, VALUE y)
|
2987
|
+
{
|
2988
|
+
HPDF_Page page;
|
2989
|
+
HPDF_STATUS ret;
|
2990
|
+
HPDF_REAL f1;
|
2991
|
+
HPDF_REAL f2;
|
2992
|
+
|
2993
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
2994
|
+
f1 = NUM2DBL(x);
|
2995
|
+
f2 = NUM2DBL(y);
|
2996
|
+
|
2997
|
+
HPDF_PTRACE(("hpdf_page_move_text_pos page=%p\n", page));
|
2998
|
+
|
2999
|
+
ret = HPDF_Page_MoveTextPos(page, f1, f2);
|
3000
|
+
|
3001
|
+
return INT2NUM(ret);
|
3002
|
+
}
|
3003
|
+
|
3004
|
+
|
3005
|
+
static VALUE
|
3006
|
+
hpdf_page_move_text_pos2 (VALUE obj, VALUE x, VALUE y)
|
3007
|
+
{
|
3008
|
+
HPDF_Page page;
|
3009
|
+
HPDF_STATUS ret;
|
3010
|
+
HPDF_REAL f1;
|
3011
|
+
HPDF_REAL f2;
|
3012
|
+
|
3013
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3014
|
+
f1 = NUM2DBL(x);
|
3015
|
+
f2 = NUM2DBL(y);
|
3016
|
+
|
3017
|
+
HPDF_PTRACE(("hpdf_page_move_text_pos2 page=%p\n", page));
|
3018
|
+
|
3019
|
+
ret = HPDF_Page_MoveTextPos2(page, f1, f2);
|
3020
|
+
|
3021
|
+
return INT2NUM(ret);
|
3022
|
+
}
|
3023
|
+
|
3024
|
+
|
3025
|
+
static VALUE
|
3026
|
+
hpdf_page_set_text_matrix (VALUE obj, VALUE a, VALUE b, VALUE c, VALUE d, VALUE x, VALUE y)
|
3027
|
+
{
|
3028
|
+
HPDF_Page page;
|
3029
|
+
HPDF_STATUS ret;
|
3030
|
+
HPDF_REAL f1;
|
3031
|
+
HPDF_REAL f2;
|
3032
|
+
HPDF_REAL f3;
|
3033
|
+
HPDF_REAL f4;
|
3034
|
+
HPDF_REAL f5;
|
3035
|
+
HPDF_REAL f6;
|
3036
|
+
|
3037
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3038
|
+
f1 = NUM2DBL(a);
|
3039
|
+
f2 = NUM2DBL(b);
|
3040
|
+
f3 = NUM2DBL(c);
|
3041
|
+
f4 = NUM2DBL(d);
|
3042
|
+
f5 = NUM2DBL(x);
|
3043
|
+
f6 = NUM2DBL(y);
|
3044
|
+
|
3045
|
+
HPDF_PTRACE(("hpdf_page_set_text_matrix page=%p\n", page));
|
3046
|
+
|
3047
|
+
ret = HPDF_Page_SetTextMatrix(page, f1, f2, f3, f4, f5, f6);
|
3048
|
+
|
3049
|
+
return INT2NUM(ret);
|
3050
|
+
}
|
3051
|
+
|
3052
|
+
static VALUE
|
3053
|
+
hpdf_page_move_to_next_line (VALUE obj)
|
3054
|
+
{
|
3055
|
+
HPDF_Page page;
|
3056
|
+
HPDF_STATUS ret;
|
3057
|
+
|
3058
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3059
|
+
|
3060
|
+
HPDF_PTRACE(("hpdf_page_move_to_next_line page=%p\n", page));
|
3061
|
+
|
3062
|
+
ret = HPDF_Page_MoveToNextLine(page);
|
3063
|
+
|
3064
|
+
return INT2NUM(ret);
|
3065
|
+
}
|
3066
|
+
|
3067
|
+
static VALUE
|
3068
|
+
hpdf_page_show_text (VALUE obj, VALUE text)
|
3069
|
+
{
|
3070
|
+
HPDF_Page page;
|
3071
|
+
HPDF_STATUS ret;
|
3072
|
+
const char *s;
|
3073
|
+
|
3074
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3075
|
+
s = STR2CSTR(text);
|
3076
|
+
|
3077
|
+
HPDF_PTRACE(("hpdf_page_show_text page=%p\n", page));
|
3078
|
+
|
3079
|
+
ret = HPDF_Page_ShowText(page, s);
|
3080
|
+
|
3081
|
+
return INT2NUM(ret);
|
3082
|
+
}
|
3083
|
+
|
3084
|
+
static VALUE
|
3085
|
+
hpdf_page_show_text_next_line (VALUE obj, VALUE text)
|
3086
|
+
{
|
3087
|
+
HPDF_Page page;
|
3088
|
+
HPDF_STATUS ret;
|
3089
|
+
const char *s;
|
3090
|
+
|
3091
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3092
|
+
s = STR2CSTR(text);
|
3093
|
+
|
3094
|
+
HPDF_PTRACE(("hpdf_page_show_text_next_line page=%p\n", page));
|
3095
|
+
|
3096
|
+
ret = HPDF_Page_ShowTextNextLine(page, s);
|
3097
|
+
|
3098
|
+
return INT2NUM(ret);
|
3099
|
+
}
|
3100
|
+
|
3101
|
+
static VALUE
|
3102
|
+
hpdf_page_show_text_next_line_ex (VALUE obj, VALUE char_space, VALUE word_space, VALUE text)
|
3103
|
+
{
|
3104
|
+
HPDF_Page page;
|
3105
|
+
HPDF_STATUS ret;
|
3106
|
+
const char *s;
|
3107
|
+
HPDF_REAL f1;
|
3108
|
+
HPDF_REAL f2;
|
3109
|
+
|
3110
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3111
|
+
s = STR2CSTR(text);
|
3112
|
+
f1 = NUM2DBL(char_space);
|
3113
|
+
f2 = NUM2DBL(word_space);
|
3114
|
+
|
3115
|
+
HPDF_PTRACE(("hpdf_page_show_text_next_line_ex page=%p\n", page));
|
3116
|
+
|
3117
|
+
ret = HPDF_Page_ShowTextNextLineEx(page, f1, f2, s);
|
3118
|
+
|
3119
|
+
return INT2NUM(ret);
|
3120
|
+
}
|
3121
|
+
|
3122
|
+
static VALUE
|
3123
|
+
hpdf_page_set_gray_fill (VALUE obj, VALUE gray)
|
3124
|
+
{
|
3125
|
+
HPDF_Page page;
|
3126
|
+
HPDF_STATUS ret;
|
3127
|
+
HPDF_REAL f;
|
3128
|
+
|
3129
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3130
|
+
f = NUM2DBL(gray);
|
3131
|
+
|
3132
|
+
HPDF_PTRACE(("hpdf_page_set_gray_fill page=%p\n", page));
|
3133
|
+
|
3134
|
+
ret = HPDF_Page_SetGrayFill(page, f);
|
3135
|
+
|
3136
|
+
return INT2NUM(ret);
|
3137
|
+
}
|
3138
|
+
|
3139
|
+
static VALUE
|
3140
|
+
hpdf_page_set_gray_stroke (VALUE obj, VALUE gray)
|
3141
|
+
{
|
3142
|
+
HPDF_Page page;
|
3143
|
+
HPDF_STATUS ret;
|
3144
|
+
HPDF_REAL f;
|
3145
|
+
|
3146
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3147
|
+
f = NUM2DBL(gray);
|
3148
|
+
|
3149
|
+
HPDF_PTRACE(("hpdf_page_set_gray_stroke page=%p\n", page));
|
3150
|
+
|
3151
|
+
ret = HPDF_Page_SetGrayStroke(page, f);
|
3152
|
+
|
3153
|
+
return INT2NUM(ret);
|
3154
|
+
}
|
3155
|
+
|
3156
|
+
static VALUE
|
3157
|
+
hpdf_page_set_rgb_fill (VALUE obj, VALUE r, VALUE g, VALUE b)
|
3158
|
+
{
|
3159
|
+
HPDF_Page page;
|
3160
|
+
HPDF_STATUS ret;
|
3161
|
+
HPDF_REAL f1;
|
3162
|
+
HPDF_REAL f2;
|
3163
|
+
HPDF_REAL f3;
|
3164
|
+
|
3165
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3166
|
+
f1 = NUM2DBL(r);
|
3167
|
+
f2 = NUM2DBL(g);
|
3168
|
+
f3 = NUM2DBL(b);
|
3169
|
+
|
3170
|
+
HPDF_PTRACE(("hpdf_page_set_rgb_fill page=%p\n", page));
|
3171
|
+
|
3172
|
+
ret = HPDF_Page_SetRGBFill(page, f1, f2, f3);
|
3173
|
+
|
3174
|
+
return INT2NUM(ret);
|
3175
|
+
}
|
3176
|
+
|
3177
|
+
static VALUE
|
3178
|
+
hpdf_page_set_rgb_stroke (VALUE obj, VALUE r, VALUE g, VALUE b)
|
3179
|
+
{
|
3180
|
+
HPDF_Page page;
|
3181
|
+
HPDF_STATUS ret;
|
3182
|
+
HPDF_REAL f1;
|
3183
|
+
HPDF_REAL f2;
|
3184
|
+
HPDF_REAL f3;
|
3185
|
+
|
3186
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3187
|
+
f1 = NUM2DBL(r);
|
3188
|
+
f2 = NUM2DBL(g);
|
3189
|
+
f3 = NUM2DBL(b);
|
3190
|
+
|
3191
|
+
HPDF_PTRACE(("hpdf_page_set_rgb_stroke page=%p\n", page));
|
3192
|
+
|
3193
|
+
ret = HPDF_Page_SetRGBStroke(page, f1, f2, f3);
|
3194
|
+
|
3195
|
+
return INT2NUM(ret);
|
3196
|
+
}
|
3197
|
+
|
3198
|
+
static VALUE
|
3199
|
+
hpdf_page_set_cmyk_fill (VALUE obj, VALUE c, VALUE m, VALUE y, VALUE k)
|
3200
|
+
{
|
3201
|
+
HPDF_Page page;
|
3202
|
+
HPDF_STATUS ret;
|
3203
|
+
HPDF_REAL f1;
|
3204
|
+
HPDF_REAL f2;
|
3205
|
+
HPDF_REAL f3;
|
3206
|
+
HPDF_REAL f4;
|
3207
|
+
|
3208
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3209
|
+
f1 = NUM2DBL(c);
|
3210
|
+
f2 = NUM2DBL(m);
|
3211
|
+
f3 = NUM2DBL(y);
|
3212
|
+
f4 = NUM2DBL(k);
|
3213
|
+
|
3214
|
+
HPDF_PTRACE(("hpdf_page_set_cmyk_fill page=%p\n", page));
|
3215
|
+
|
3216
|
+
ret = HPDF_Page_SetCMYKFill(page, f1, f2, f3, f4);
|
3217
|
+
|
3218
|
+
return INT2NUM(ret);
|
3219
|
+
}
|
3220
|
+
|
3221
|
+
static VALUE
|
3222
|
+
hpdf_page_set_cmyk_stroke (VALUE obj, VALUE c, VALUE m, VALUE y, VALUE k)
|
3223
|
+
{
|
3224
|
+
HPDF_Page page;
|
3225
|
+
HPDF_STATUS ret;
|
3226
|
+
HPDF_REAL f1;
|
3227
|
+
HPDF_REAL f2;
|
3228
|
+
HPDF_REAL f3;
|
3229
|
+
HPDF_REAL f4;
|
3230
|
+
|
3231
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3232
|
+
f1 = NUM2DBL(c);
|
3233
|
+
f2 = NUM2DBL(m);
|
3234
|
+
f3 = NUM2DBL(y);
|
3235
|
+
f4 = NUM2DBL(k);
|
3236
|
+
|
3237
|
+
HPDF_PTRACE(("hpdf_page_set_cmyk_stroke page=%p\n", page));
|
3238
|
+
|
3239
|
+
ret = HPDF_Page_SetCMYKStroke(page, f1, f2, f3, f4);
|
3240
|
+
|
3241
|
+
return INT2NUM(ret);
|
3242
|
+
}
|
3243
|
+
|
3244
|
+
static VALUE
|
3245
|
+
hpdf_page_execute_xobject (VALUE obj, VALUE xobj)
|
3246
|
+
{
|
3247
|
+
HPDF_Page page;
|
3248
|
+
HPDF_STATUS ret;
|
3249
|
+
HPDF_Image img;
|
3250
|
+
|
3251
|
+
if (HPDF_StrCmp(rb_obj_classname(xobj), "HPDFImage") != 0)
|
3252
|
+
rb_raise(rb_eHPDFError, "invalid argument(1).");
|
3253
|
+
|
3254
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3255
|
+
Data_Get_Struct(xobj, HPDF_Dict_Rec, img);
|
3256
|
+
|
3257
|
+
HPDF_PTRACE(("hpdf_page_execute_xobject page=%p\n", page));
|
3258
|
+
|
3259
|
+
ret = HPDF_Page_ExecuteXObject(page, img);
|
3260
|
+
|
3261
|
+
return INT2NUM(ret);
|
3262
|
+
}
|
3263
|
+
|
3264
|
+
static VALUE
|
3265
|
+
hpdf_page_draw_image (VALUE obj, VALUE image, VALUE x, VALUE y, VALUE width, VALUE height)
|
3266
|
+
{
|
3267
|
+
HPDF_Page page;
|
3268
|
+
HPDF_STATUS ret;
|
3269
|
+
HPDF_Image img;
|
3270
|
+
HPDF_REAL f1;
|
3271
|
+
HPDF_REAL f2;
|
3272
|
+
HPDF_REAL f3;
|
3273
|
+
HPDF_REAL f4;
|
3274
|
+
|
3275
|
+
if (HPDF_StrCmp(rb_obj_classname(image), "HPDFImage") != 0)
|
3276
|
+
rb_raise(rb_eHPDFError, "invalid argument(1).");
|
3277
|
+
|
3278
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3279
|
+
Data_Get_Struct(image, HPDF_Dict_Rec, img);
|
3280
|
+
f1 = NUM2DBL(x);
|
3281
|
+
f2 = NUM2DBL(y);
|
3282
|
+
f3 = NUM2DBL(width);
|
3283
|
+
f4 = NUM2DBL(height);
|
3284
|
+
|
3285
|
+
HPDF_PTRACE(("hpdf_page_draw_image page=%p\n", page));
|
3286
|
+
|
3287
|
+
ret = HPDF_Page_DrawImage(page, img, f1, f2, f3, f4);
|
3288
|
+
|
3289
|
+
return INT2NUM(ret);
|
3290
|
+
}
|
3291
|
+
|
3292
|
+
|
3293
|
+
static VALUE
|
3294
|
+
hpdf_page_circle (VALUE obj, VALUE x, VALUE y, VALUE ray)
|
3295
|
+
{
|
3296
|
+
HPDF_Page page;
|
3297
|
+
HPDF_STATUS ret;
|
3298
|
+
HPDF_REAL f1;
|
3299
|
+
HPDF_REAL f2;
|
3300
|
+
HPDF_REAL f3;
|
3301
|
+
|
3302
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3303
|
+
f1 = NUM2DBL(x);
|
3304
|
+
f2 = NUM2DBL(y);
|
3305
|
+
f3 = NUM2DBL(ray);
|
3306
|
+
|
3307
|
+
HPDF_PTRACE(("hpdf_page_circle page=%p\n", page));
|
3308
|
+
|
3309
|
+
ret = HPDF_Page_Circle(page, f1, f2, f3);
|
3310
|
+
|
3311
|
+
return INT2NUM(ret);
|
3312
|
+
}
|
3313
|
+
|
3314
|
+
static VALUE
|
3315
|
+
hpdf_page_arc (VALUE obj, VALUE x, VALUE y, VALUE ray, VALUE ang1, VALUE ang2)
|
3316
|
+
{
|
3317
|
+
HPDF_Page page;
|
3318
|
+
HPDF_STATUS ret;
|
3319
|
+
HPDF_REAL f1;
|
3320
|
+
HPDF_REAL f2;
|
3321
|
+
HPDF_REAL f3;
|
3322
|
+
HPDF_REAL f4;
|
3323
|
+
HPDF_REAL f5;
|
3324
|
+
|
3325
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3326
|
+
f1 = NUM2DBL(x);
|
3327
|
+
f2 = NUM2DBL(y);
|
3328
|
+
f3 = NUM2DBL(ray);
|
3329
|
+
f4 = NUM2DBL(ang1);
|
3330
|
+
f5 = NUM2DBL(ang2);
|
3331
|
+
|
3332
|
+
HPDF_PTRACE(("hpdf_page_arc page=%p\n", page));
|
3333
|
+
|
3334
|
+
ret = HPDF_Page_Arc(page, f1, f2, f3, f4, f5);
|
3335
|
+
|
3336
|
+
return INT2NUM(ret);
|
3337
|
+
}
|
3338
|
+
|
3339
|
+
static VALUE
|
3340
|
+
hpdf_page_ellipse (VALUE obj, VALUE x, VALUE y, VALUE xray, VALUE yray)
|
3341
|
+
{
|
3342
|
+
HPDF_Page page;
|
3343
|
+
HPDF_STATUS ret;
|
3344
|
+
HPDF_REAL f1;
|
3345
|
+
HPDF_REAL f2;
|
3346
|
+
HPDF_REAL f3;
|
3347
|
+
HPDF_REAL f4;
|
3348
|
+
|
3349
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3350
|
+
f1 = NUM2DBL(x);
|
3351
|
+
f2 = NUM2DBL(y);
|
3352
|
+
f3 = NUM2DBL(xray);
|
3353
|
+
f4 = NUM2DBL(yray);
|
3354
|
+
|
3355
|
+
HPDF_PTRACE(("hpdf_page_ellipse page=%p\n", page));
|
3356
|
+
|
3357
|
+
ret = HPDF_Page_Ellipse(page, f1, f2, f3, f4);
|
3358
|
+
|
3359
|
+
return INT2NUM(ret);
|
3360
|
+
}
|
3361
|
+
|
3362
|
+
static VALUE
|
3363
|
+
hpdf_page_text_out (VALUE obj, VALUE xpos, VALUE ypos, VALUE text)
|
3364
|
+
{
|
3365
|
+
HPDF_Page page;
|
3366
|
+
HPDF_STATUS ret;
|
3367
|
+
const char *s;
|
3368
|
+
HPDF_REAL x;
|
3369
|
+
HPDF_REAL y;
|
3370
|
+
|
3371
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3372
|
+
s = STR2CSTR(text);
|
3373
|
+
x = NUM2DBL(xpos);
|
3374
|
+
y = NUM2DBL(ypos);
|
3375
|
+
|
3376
|
+
HPDF_PTRACE(("hpdf_page_text_out page=%p\n", page));
|
3377
|
+
|
3378
|
+
ret = HPDF_Page_TextOut(page, x, y, s);
|
3379
|
+
|
3380
|
+
return INT2NUM(ret);
|
3381
|
+
}
|
3382
|
+
|
3383
|
+
static VALUE
|
3384
|
+
hpdf_page_text_rect (VALUE obj, VALUE left, VALUE top, VALUE right, VALUE bottom, VALUE text, VALUE align)
|
3385
|
+
|
3386
|
+
{
|
3387
|
+
HPDF_Page page;
|
3388
|
+
HPDF_STATUS ret;
|
3389
|
+
const char *s;
|
3390
|
+
HPDF_REAL f1;
|
3391
|
+
HPDF_REAL f2;
|
3392
|
+
HPDF_REAL f3;
|
3393
|
+
HPDF_REAL f4;
|
3394
|
+
HPDF_UINT i1;
|
3395
|
+
|
3396
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3397
|
+
s = STR2CSTR(text);
|
3398
|
+
f1 = NUM2DBL(left);
|
3399
|
+
f2 = NUM2DBL(top);
|
3400
|
+
f3 = NUM2DBL(right);
|
3401
|
+
f4 = NUM2DBL(bottom);
|
3402
|
+
i1 = NUM2INT(align);
|
3403
|
+
|
3404
|
+
HPDF_PTRACE(("hpdf_page_text_rect page=%p\n", page));
|
3405
|
+
|
3406
|
+
ret = HPDF_Page_TextRect(page, f1, f2, f3, f4, s, i1, NULL);
|
3407
|
+
|
3408
|
+
return INT2NUM(ret);
|
3409
|
+
}
|
3410
|
+
|
3411
|
+
static VALUE
|
3412
|
+
hpdf_page_set_slide_show (VALUE obj, VALUE type, VALUE disp_time, VALUE trans_time)
|
3413
|
+
|
3414
|
+
{
|
3415
|
+
HPDF_Page page;
|
3416
|
+
HPDF_STATUS ret;
|
3417
|
+
HPDF_REAL f1;
|
3418
|
+
HPDF_REAL f2;
|
3419
|
+
HPDF_UINT i1;
|
3420
|
+
|
3421
|
+
Data_Get_Struct(obj, HPDF_Dict_Rec, page);
|
3422
|
+
f1 = NUM2DBL(disp_time);
|
3423
|
+
f2 = NUM2DBL(trans_time);
|
3424
|
+
i1 = NUM2INT(type);
|
3425
|
+
|
3426
|
+
HPDF_PTRACE(("hpdf_page_set_slide_show page=%p\n", page));
|
3427
|
+
|
3428
|
+
ret = HPDF_Page_SetSlideShow(page, i1, f1, f2);
|
3429
|
+
|
3430
|
+
return INT2NUM(ret);
|
3431
|
+
}
|
3432
|
+
|
3433
|
+
|
3434
|
+
|
3435
|
+
void
|
3436
|
+
Init_hpdf()
|
3437
|
+
{
|
3438
|
+
rb_cHPDFDoc = rb_define_class("HPDFDoc", rb_cObject);
|
3439
|
+
rb_cHPDFPage = rb_define_class("HPDFPage", rb_cObject);
|
3440
|
+
rb_cHPDFImage = rb_define_class("HPDFImage", rb_cObject);
|
3441
|
+
rb_cHPDFFont = rb_define_class("HPDFFont", rb_cObject);
|
3442
|
+
rb_cHPDFOutline = rb_define_class("HPDFOutline", rb_cObject);
|
3443
|
+
rb_cHPDFEncoder = rb_define_class("HPDFEncoder", rb_cObject);
|
3444
|
+
rb_cHPDFDestination = rb_define_class("HPDFDestination", rb_cObject);
|
3445
|
+
rb_cHPDFAnnotation = rb_define_class("HPDFAnnotation", rb_cObject);
|
3446
|
+
rb_cHPDFExtGState = rb_define_class("HPDFExtGState", rb_cObject);
|
3447
|
+
|
3448
|
+
|
3449
|
+
rb_define_singleton_method(rb_cHPDFDoc, "new", hpdf_new, 0);
|
3450
|
+
rb_define_method(rb_cHPDFDoc, "new_doc", hpdf_new_doc, 0);
|
3451
|
+
rb_define_method(rb_cHPDFDoc, "free_doc", hpdf_free_doc, 0);
|
3452
|
+
rb_define_method(rb_cHPDFDoc, "has_doc", hpdf_has_doc, 0);
|
3453
|
+
rb_define_method(rb_cHPDFDoc, "free_doc_all", hpdf_free_doc_all, 0);
|
3454
|
+
rb_define_method(rb_cHPDFDoc, "save_to_file", hpdf_save_to_file, 1);
|
3455
|
+
rb_define_method(rb_cHPDFDoc, "get_error", hpdf_get_error, 0);
|
3456
|
+
rb_define_method(rb_cHPDFDoc, "reset_error", hpdf_reset_error, 0);
|
3457
|
+
rb_define_method(rb_cHPDFDoc, "set_page_configuration", hpdf_set_page_configuration, 1);
|
3458
|
+
rb_define_method(rb_cHPDFDoc, "get_page_by_index", hpdf_get_page_by_index, 1);
|
3459
|
+
rb_define_method(rb_cHPDFDoc, "get_page_layout", hpdf_get_page_layout, 0);
|
3460
|
+
rb_define_method(rb_cHPDFDoc, "set_page_layout", hpdf_set_page_layout, 1);
|
3461
|
+
rb_define_method(rb_cHPDFDoc, "get_page_mode", hpdf_get_page_mode, 0);
|
3462
|
+
rb_define_method(rb_cHPDFDoc, "set_page_mode", hpdf_set_page_mode, 1);
|
3463
|
+
rb_define_method(rb_cHPDFDoc, "set_open_action", hpdf_set_open_action, 1);
|
3464
|
+
rb_define_method(rb_cHPDFDoc, "get_viewer_preference", hpdf_get_viewer_preference, 0);
|
3465
|
+
rb_define_method(rb_cHPDFDoc, "set_viewer_preference", hpdf_set_viewer_preference, 1);
|
3466
|
+
rb_define_method(rb_cHPDFDoc, "get_current_page", hpdf_get_current_page, 0);
|
3467
|
+
rb_define_method(rb_cHPDFDoc, "add_page", hpdf_add_page, 0);
|
3468
|
+
rb_define_method(rb_cHPDFDoc, "insert_page", hpdf_insert_page, 1);
|
3469
|
+
|
3470
|
+
rb_define_method(rb_cHPDFPage, "set_width", hpdf_page_set_width, 1);
|
3471
|
+
rb_define_method(rb_cHPDFPage, "set_height", hpdf_page_set_height, 1);
|
3472
|
+
rb_define_method(rb_cHPDFPage, "set_size", hpdf_page_set_size, 2);
|
3473
|
+
rb_define_method(rb_cHPDFPage, "set_rotate", hpdf_page_set_rotate, 1);
|
3474
|
+
|
3475
|
+
rb_define_method(rb_cHPDFDoc, "get_font", hpdf_get_font, 2);
|
3476
|
+
rb_define_method(rb_cHPDFDoc, "load_type1font_from_file", hpdf_load_type1font_from_file, 2);
|
3477
|
+
rb_define_method(rb_cHPDFDoc, "load_ttfont_from_file", hpdf_load_ttfont_from_file, 2);
|
3478
|
+
rb_define_method(rb_cHPDFDoc, "load_ttfont_from_file2", hpdf_load_ttfont_from_file2, 3);
|
3479
|
+
rb_define_method(rb_cHPDFDoc, "add_page_label", hpdf_add_page_label, 4);
|
3480
|
+
rb_define_method(rb_cHPDFDoc, "use_jp_fonts", hpdf_use_jp_fonts, 0);
|
3481
|
+
rb_define_method(rb_cHPDFDoc, "use_kr_fonts", hpdf_use_kr_fonts, 0);
|
3482
|
+
rb_define_method(rb_cHPDFDoc, "use_cns_fonts", hpdf_use_cns_fonts, 0);
|
3483
|
+
rb_define_method(rb_cHPDFDoc, "use_cnt_fonts", hpdf_use_cnt_fonts, 0);
|
3484
|
+
|
3485
|
+
rb_define_method(rb_cHPDFDoc, "create_outline", hpdf_create_outline, 3);
|
3486
|
+
rb_define_method(rb_cHPDFOutline, "set_opend", hpdf_outline_set_opend, 1);
|
3487
|
+
rb_define_method(rb_cHPDFOutline, "set_destination", hpdf_outline_set_destination, 1);
|
3488
|
+
|
3489
|
+
rb_define_method(rb_cHPDFPage, "create_destination", hpdf_page_create_destination, 0);
|
3490
|
+
rb_define_method(rb_cHPDFDestination, "set_xyz", hpdf_destination_set_xyz, 3);
|
3491
|
+
rb_define_method(rb_cHPDFDestination, "set_fit", hpdf_destination_set_fit, 0);
|
3492
|
+
rb_define_method(rb_cHPDFDestination, "set_fit_h", hpdf_destination_set_fit_h, 1);
|
3493
|
+
rb_define_method(rb_cHPDFDestination, "set_fit_v", hpdf_destination_set_fit_v, 1);
|
3494
|
+
rb_define_method(rb_cHPDFDestination, "set_fit_r", hpdf_destination_set_fit_r, 4);
|
3495
|
+
rb_define_method(rb_cHPDFDestination, "set_fit_b", hpdf_destination_set_fit_b, 0);
|
3496
|
+
rb_define_method(rb_cHPDFDestination, "set_fit_bh", hpdf_destination_set_fit_bh, 1);
|
3497
|
+
rb_define_method(rb_cHPDFDestination, "set_fit_bv", hpdf_destination_set_fit_bv, 1);
|
3498
|
+
|
3499
|
+
rb_define_method(rb_cHPDFDoc, "get_encoder", hpdf_get_encoder, 1);
|
3500
|
+
rb_define_method(rb_cHPDFDoc, "get_current_encoder", hpdf_get_current_encoder, 0);
|
3501
|
+
rb_define_method(rb_cHPDFDoc, "set_current_encoder", hpdf_set_current_encoder, 1);
|
3502
|
+
rb_define_method(rb_cHPDFEncoder, "get_type", hpdf_encoder_get_type, 0);
|
3503
|
+
rb_define_method(rb_cHPDFEncoder, "get_byte_type", hpdf_encoder_get_byte_type, 1);
|
3504
|
+
rb_define_method(rb_cHPDFEncoder, "get_unicode", hpdf_encoder_get_unicode, 1);
|
3505
|
+
rb_define_method(rb_cHPDFEncoder, "get_writing_mode", hpdf_encoder_get_writing_mode, 0);
|
3506
|
+
rb_define_method(rb_cHPDFDoc, "use_jp_encodings", hpdf_use_jp_encodings, 0);
|
3507
|
+
rb_define_method(rb_cHPDFDoc, "use_kr_encodings", hpdf_use_kr_encodings, 0);
|
3508
|
+
rb_define_method(rb_cHPDFDoc, "use_cns_encodings", hpdf_use_cns_encodings, 0);
|
3509
|
+
rb_define_method(rb_cHPDFDoc, "use_cnt_encodings", hpdf_use_cnt_encodings, 0);
|
3510
|
+
|
3511
|
+
rb_define_method(rb_cHPDFPage, "create_text_annot", hpdf_page_create_text_annot, 6);
|
3512
|
+
rb_define_method(rb_cHPDFPage, "create_link_annot", hpdf_page_create_link_annot, 5);
|
3513
|
+
rb_define_method(rb_cHPDFPage, "create_uri_link_annot", hpdf_page_create_uri_link_annot, 5);
|
3514
|
+
rb_define_method(rb_cHPDFAnnotation, "set_highlight_mode", hpdf_linkannot_set_highlight_mode, 1);
|
3515
|
+
rb_define_method(rb_cHPDFAnnotation, "set_border_style", hpdf_linkannot_set_border_style, 3);
|
3516
|
+
rb_define_method(rb_cHPDFAnnotation, "set_icon", hpdf_textannot_set_icon, 1);
|
3517
|
+
rb_define_method(rb_cHPDFAnnotation, "set_opened", hpdf_textannot_set_opened, 1);
|
3518
|
+
|
3519
|
+
rb_define_method(rb_cHPDFDoc, "load_png_image_from_file", hpdf_load_png_image_from_file, 1);
|
3520
|
+
rb_define_method(rb_cHPDFDoc, "load_jpeg_image_from_file", hpdf_load_jpeg_image_from_file, 1);
|
3521
|
+
rb_define_method(rb_cHPDFImage, "get_size", hpdf_image_get_size, 0);
|
3522
|
+
rb_define_method(rb_cHPDFImage, "get_width", hpdf_image_get_width, 0);
|
3523
|
+
rb_define_method(rb_cHPDFImage, "get_height", hpdf_image_get_height, 0);
|
3524
|
+
rb_define_method(rb_cHPDFImage, "get_bits_per_component", hpdf_image_get_bits_per_component, 0);
|
3525
|
+
rb_define_method(rb_cHPDFImage, "get_color_space", hpdf_image_get_color_space, 0);
|
3526
|
+
rb_define_method(rb_cHPDFImage, "set_color_mask", hpdf_image_set_color_mask, 6);
|
3527
|
+
rb_define_method(rb_cHPDFImage, "set_mask_image", hpdf_image_set_mask_image, 1);
|
3528
|
+
|
3529
|
+
rb_define_method(rb_cHPDFDoc, "set_info_attr", hpdf_set_info_attr, 2);
|
3530
|
+
rb_define_method(rb_cHPDFDoc, "get_info_attr", hpdf_get_info_attr, 1);
|
3531
|
+
rb_define_method(rb_cHPDFDoc, "set_info_date_attr", hpdf_set_info_date_attr, 10);
|
3532
|
+
rb_define_method(rb_cHPDFDoc, "set_password", hpdf_set_password, 2);
|
3533
|
+
rb_define_method(rb_cHPDFDoc, "set_permission", hpdf_set_permission, 1);
|
3534
|
+
rb_define_method(rb_cHPDFDoc, "set_encryption_mode", hpdf_set_encryption_mode, 2);
|
3535
|
+
rb_define_method(rb_cHPDFDoc, "set_compression_mode", hpdf_set_compression_mode, 1);
|
3536
|
+
|
3537
|
+
rb_define_method(rb_cHPDFPage, "text_width", hpdf_page_text_width, 1);
|
3538
|
+
rb_define_method(rb_cHPDFPage, "measure_text", hpdf_page_measure_text, 3);
|
3539
|
+
rb_define_method(rb_cHPDFPage, "get_width", hpdf_page_get_width, 0);
|
3540
|
+
rb_define_method(rb_cHPDFPage, "get_height", hpdf_page_get_height, 0);
|
3541
|
+
rb_define_method(rb_cHPDFPage, "get_gmode", hpdf_page_get_gmode, 0);
|
3542
|
+
rb_define_method(rb_cHPDFPage, "get_current_pos", hpdf_page_get_current_pos, 0);
|
3543
|
+
rb_define_method(rb_cHPDFPage, "get_current_text_pos", hpdf_page_get_current_text_pos, 0);
|
3544
|
+
rb_define_method(rb_cHPDFPage, "get_current_font", hpdf_page_get_current_font, 0);
|
3545
|
+
|
3546
|
+
rb_define_method(rb_cHPDFFont, "get_font_name", hpdf_font_get_font_name, 0);
|
3547
|
+
rb_define_method(rb_cHPDFFont, "get_encoding_name", hpdf_font_get_encoding_name, 0);
|
3548
|
+
rb_define_method(rb_cHPDFFont, "get_unicode_width", hpdf_font_get_unicode_width, 1);
|
3549
|
+
rb_define_method(rb_cHPDFFont, "get_bbox", hpdf_font_get_bbox, 0);
|
3550
|
+
rb_define_method(rb_cHPDFFont, "get_ascent", hpdf_font_get_ascent, 0);
|
3551
|
+
rb_define_method(rb_cHPDFFont, "get_descent", hpdf_font_get_descent, 0);
|
3552
|
+
rb_define_method(rb_cHPDFFont, "get_x_height", hpdf_font_get_x_height, 0);
|
3553
|
+
rb_define_method(rb_cHPDFFont, "get_cap_height", hpdf_font_get_cap_height, 0);
|
3554
|
+
|
3555
|
+
rb_define_method(rb_cHPDFPage, "get_current_font_size", hpdf_page_get_current_font_size, 0);
|
3556
|
+
rb_define_method(rb_cHPDFPage, "get_trans_matrix", hpdf_page_get_trans_matrix, 0);
|
3557
|
+
rb_define_method(rb_cHPDFPage, "get_line_width", hpdf_page_get_line_width, 0);
|
3558
|
+
rb_define_method(rb_cHPDFPage, "get_line_cap", hpdf_page_get_line_cap, 0);
|
3559
|
+
rb_define_method(rb_cHPDFPage, "get_line_join", hpdf_page_get_line_join, 0);
|
3560
|
+
rb_define_method(rb_cHPDFPage, "get_miter_limit", hpdf_page_get_miter_limit, 0);
|
3561
|
+
rb_define_method(rb_cHPDFPage, "get_dash", hpdf_page_get_dash, 0);
|
3562
|
+
rb_define_method(rb_cHPDFPage, "get_flat", hpdf_page_get_flat, 0);
|
3563
|
+
rb_define_method(rb_cHPDFPage, "get_char_space", hpdf_page_get_char_space, 0);
|
3564
|
+
rb_define_method(rb_cHPDFPage, "get_word_space", hpdf_page_get_word_space, 0);
|
3565
|
+
rb_define_method(rb_cHPDFPage, "get_horizontal_scalling", hpdf_page_get_horizontal_scalling, 0);
|
3566
|
+
rb_define_method(rb_cHPDFPage, "get_text_leading", hpdf_page_get_text_leading, 0);
|
3567
|
+
rb_define_method(rb_cHPDFPage, "get_text_rendering_mode", hpdf_page_get_text_rendering_mode, 0);
|
3568
|
+
rb_define_method(rb_cHPDFPage, "get_text_raise", hpdf_page_get_text_raise, 0);
|
3569
|
+
rb_define_method(rb_cHPDFPage, "get_rgb_fill", hpdf_page_get_rgb_fill, 0);
|
3570
|
+
rb_define_method(rb_cHPDFPage, "get_rgb_stroke", hpdf_page_get_rgb_stroke, 0);
|
3571
|
+
rb_define_method(rb_cHPDFPage, "get_cmyk_fill", hpdf_page_get_cmyk_fill, 0);
|
3572
|
+
rb_define_method(rb_cHPDFPage, "get_cmyk_stroke", hpdf_page_get_cmyk_stroke, 0);
|
3573
|
+
rb_define_method(rb_cHPDFPage, "get_gray_fill", hpdf_page_get_gray_fill, 0);
|
3574
|
+
rb_define_method(rb_cHPDFPage, "get_gray_stroke", hpdf_page_get_gray_stroke, 0);
|
3575
|
+
rb_define_method(rb_cHPDFPage, "get_stroking_color_space", hpdf_page_get_stroking_color_space, 0);
|
3576
|
+
rb_define_method(rb_cHPDFPage, "get_filling_color_space", hpdf_page_get_filling_color_space, 0);
|
3577
|
+
rb_define_method(rb_cHPDFPage, "get_text_matrix", hpdf_page_get_text_matrix, 0);
|
3578
|
+
|
3579
|
+
rb_define_method(rb_cHPDFPage, "set_line_width", hpdf_page_set_line_width, 1);
|
3580
|
+
rb_define_method(rb_cHPDFPage, "set_line_cap", hpdf_page_set_line_cap, 1);
|
3581
|
+
rb_define_method(rb_cHPDFPage, "set_line_join", hpdf_page_set_line_join, 1);
|
3582
|
+
rb_define_method(rb_cHPDFPage, "set_miter_limit", hpdf_page_set_miter_limit, 1);
|
3583
|
+
rb_define_method(rb_cHPDFPage, "set_dash", hpdf_page_set_dash, 2);
|
3584
|
+
rb_define_method(rb_cHPDFPage, "set_flat", hpdf_page_set_flat, 1);
|
3585
|
+
rb_define_method(rb_cHPDFPage, "gsave", hpdf_page_gsave, 0);
|
3586
|
+
rb_define_method(rb_cHPDFPage, "grestore", hpdf_page_grestore, 0);
|
3587
|
+
rb_define_method(rb_cHPDFPage, "get_gstate_depth", hpdf_page_get_gstate_depth, 0);
|
3588
|
+
rb_define_method(rb_cHPDFPage, "concat", hpdf_page_concat, 6);
|
3589
|
+
rb_define_method(rb_cHPDFPage, "move_to", hpdf_page_move_to, 2);
|
3590
|
+
rb_define_method(rb_cHPDFPage, "line_to", hpdf_page_line_to, 2);
|
3591
|
+
rb_define_method(rb_cHPDFPage, "curve_to", hpdf_page_curve_to, 6);
|
3592
|
+
rb_define_method(rb_cHPDFPage, "curve_to2", hpdf_page_curve_to2, 4);
|
3593
|
+
rb_define_method(rb_cHPDFPage, "curve_to3", hpdf_page_curve_to3, 4);
|
3594
|
+
rb_define_method(rb_cHPDFPage, "close_path", hpdf_page_close_path, 0);
|
3595
|
+
rb_define_method(rb_cHPDFPage, "rectangle", hpdf_page_rectangle, 4);
|
3596
|
+
rb_define_method(rb_cHPDFPage, "stroke", hpdf_page_stroke, 0);
|
3597
|
+
rb_define_method(rb_cHPDFPage, "close_path_stroke", hpdf_page_close_path_stroke, 0);
|
3598
|
+
rb_define_method(rb_cHPDFPage, "fill", hpdf_page_fill, 0);
|
3599
|
+
rb_define_method(rb_cHPDFPage, "eofill", hpdf_page_eofill, 0);
|
3600
|
+
rb_define_method(rb_cHPDFPage, "fill_stroke", hpdf_page_fill_stroke, 0);
|
3601
|
+
rb_define_method(rb_cHPDFPage, "eofill_stroke", hpdf_page_eofill_stroke, 0);
|
3602
|
+
rb_define_method(rb_cHPDFPage, "close_path_fill_stroke", hpdf_page_close_path_fill_stroke, 0);
|
3603
|
+
rb_define_method(rb_cHPDFPage, "close_path_eofill_stroke", hpdf_page_close_path_eofill_stroke, 0);
|
3604
|
+
rb_define_method(rb_cHPDFPage, "end_path", hpdf_page_end_path, 0);
|
3605
|
+
rb_define_method(rb_cHPDFPage, "clip", hpdf_page_clip, 0);
|
3606
|
+
rb_define_method(rb_cHPDFPage, "page_clip", hpdf_page_clip, 0);
|
3607
|
+
rb_define_method(rb_cHPDFPage, "eoclip", hpdf_page_eoclip, 0);
|
3608
|
+
rb_define_method(rb_cHPDFPage, "begin_text", hpdf_page_begin_text, 0);
|
3609
|
+
rb_define_method(rb_cHPDFPage, "end_text", hpdf_page_end_text, 0);
|
3610
|
+
rb_define_method(rb_cHPDFPage, "set_char_space", hpdf_page_set_char_space, 1);
|
3611
|
+
rb_define_method(rb_cHPDFPage, "set_word_space", hpdf_page_set_word_space, 1);
|
3612
|
+
rb_define_method(rb_cHPDFPage, "set_horizontal_scalling", hpdf_page_set_horizontal_scalling, 1);
|
3613
|
+
rb_define_method(rb_cHPDFPage, "set_text_leading", hpdf_page_set_text_leading, 1);
|
3614
|
+
rb_define_method(rb_cHPDFPage, "set_font_and_size", hpdf_page_set_font_and_size, 2);
|
3615
|
+
rb_define_method(rb_cHPDFPage, "set_text_rendering_mode", hpdf_page_set_text_rendering_mode, 1);
|
3616
|
+
rb_define_method(rb_cHPDFPage, "set_text_raise", hpdf_page_set_text_raise, 1);
|
3617
|
+
rb_define_method(rb_cHPDFPage, "move_text_pos", hpdf_page_move_text_pos, 2);
|
3618
|
+
rb_define_method(rb_cHPDFPage, "move_text_pos2", hpdf_page_move_text_pos2, 2);
|
3619
|
+
rb_define_method(rb_cHPDFPage, "set_text_matrix", hpdf_page_set_text_matrix, 6);
|
3620
|
+
rb_define_method(rb_cHPDFPage, "move_to_next_line", hpdf_page_move_to_next_line, 0);
|
3621
|
+
rb_define_method(rb_cHPDFPage, "show_text", hpdf_page_show_text, 1);
|
3622
|
+
rb_define_method(rb_cHPDFPage, "show_text_next_line", hpdf_page_show_text_next_line, 1);
|
3623
|
+
rb_define_method(rb_cHPDFPage, "show_text_next_line_ex", hpdf_page_show_text_next_line_ex, 3);
|
3624
|
+
rb_define_method(rb_cHPDFPage, "set_gray_fill", hpdf_page_set_gray_fill, 1);
|
3625
|
+
rb_define_method(rb_cHPDFPage, "set_gray_stroke", hpdf_page_set_gray_stroke, 1);
|
3626
|
+
rb_define_method(rb_cHPDFPage, "set_rgb_fill", hpdf_page_set_rgb_fill, 3);
|
3627
|
+
rb_define_method(rb_cHPDFPage, "set_rgb_stroke", hpdf_page_set_rgb_stroke, 3);
|
3628
|
+
rb_define_method(rb_cHPDFPage, "set_cmyk_fill", hpdf_page_set_cmyk_fill, 4);
|
3629
|
+
rb_define_method(rb_cHPDFPage, "set_cmyk_stroke", hpdf_page_set_cmyk_stroke, 4);
|
3630
|
+
rb_define_method(rb_cHPDFPage, "execute_xobject", hpdf_page_execute_xobject, 1);
|
3631
|
+
rb_define_method(rb_cHPDFPage, "draw_image", hpdf_page_draw_image, 5);
|
3632
|
+
rb_define_method(rb_cHPDFPage, "circle", hpdf_page_circle, 3);
|
3633
|
+
rb_define_method(rb_cHPDFPage, "ellipse", hpdf_page_ellipse, 4);
|
3634
|
+
rb_define_method(rb_cHPDFPage, "arc", hpdf_page_arc, 5);
|
3635
|
+
rb_define_method(rb_cHPDFPage, "text_out", hpdf_page_text_out, 3);
|
3636
|
+
rb_define_method(rb_cHPDFPage, "text_rect", hpdf_page_text_rect, 6);
|
3637
|
+
|
3638
|
+
rb_define_method(rb_cHPDFPage, "set_slide_show", hpdf_page_set_slide_show, 3);
|
3639
|
+
|
3640
|
+
rb_define_method(rb_cHPDFDoc, "create_ext_gstate", hpdf_create_ext_gstate, 0);
|
3641
|
+
rb_define_method(rb_cHPDFExtGState, "set_alpha_stroke", hpdf_ext_gstate_set_alpha_stroke, 1);
|
3642
|
+
rb_define_method(rb_cHPDFExtGState, "set_alpha_fill", hpdf_ext_gstate_set_alpha_fill, 1);
|
3643
|
+
rb_define_method(rb_cHPDFExtGState, "set_blend_mode", hpdf_ext_gstate_set_blend_mode, 1);
|
3644
|
+
rb_define_method(rb_cHPDFPage, "set_ext_gstate", hpdf_page_set_ext_gstate, 1);
|
3645
|
+
|
3646
|
+
rb_eHPDFError = rb_define_class("HPDFError", rb_eStandardError);
|
3647
|
+
|
3648
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TRUE", INT2FIX(HPDF_TRUE));
|
3649
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_FALSE", INT2FIX(HPDF_FALSE));
|
3650
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_COMP_NONE", INT2FIX(HPDF_COMP_NONE));
|
3651
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_COMP_TEXT", INT2FIX(HPDF_COMP_TEXT));
|
3652
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_COMP_IMAGE", INT2FIX(HPDF_COMP_IMAGE));
|
3653
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_COMP_METADATA", INT2FIX(HPDF_COMP_METADATA));
|
3654
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_COMP_ALL", INT2FIX(HPDF_COMP_ALL));
|
3655
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_HIDE_TOOLBAR", INT2FIX(HPDF_HIDE_TOOLBAR));
|
3656
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_HIDE_MENUBAR", INT2FIX(HPDF_HIDE_MENUBAR));
|
3657
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_HIDE_WINDOW_UI", INT2FIX(HPDF_HIDE_WINDOW_UI));
|
3658
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_FIT_WINDOW", INT2FIX(HPDF_FIT_WINDOW));
|
3659
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_CENTER_WINDOW", INT2FIX(HPDF_CENTER_WINDOW));
|
3660
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ENABLE_READ", INT2FIX(HPDF_ENABLE_READ));
|
3661
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ENABLE_PRINT", INT2FIX(HPDF_ENABLE_PRINT));
|
3662
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ENABLE_EDIT_ALL", INT2FIX(HPDF_ENABLE_EDIT_ALL));
|
3663
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ENABLE_COPY", INT2FIX(HPDF_ENABLE_COPY));
|
3664
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ENABLE_EDIT", INT2FIX(HPDF_ENABLE_EDIT));
|
3665
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_INFO_CREATION_DATE", INT2FIX(HPDF_INFO_CREATION_DATE));
|
3666
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_INFO_MOD_DATE", INT2FIX(HPDF_INFO_MOD_DATE));
|
3667
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_INFO_AUTHOR", INT2FIX(HPDF_INFO_AUTHOR));
|
3668
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_INFO_CREATOR", INT2FIX(HPDF_INFO_CREATOR));
|
3669
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_INFO_PRODUCER", INT2FIX(HPDF_INFO_PRODUCER));
|
3670
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_INFO_TITLE", INT2FIX(HPDF_INFO_TITLE));
|
3671
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_INFO_SUBJECT", INT2FIX(HPDF_INFO_SUBJECT));
|
3672
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_INFO_KEYWORDS", INT2FIX(HPDF_INFO_KEYWORDS));
|
3673
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ENCRYPT_R2", INT2FIX(HPDF_ENCRYPT_R2));
|
3674
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ENCRYPT_R3", INT2FIX(HPDF_ENCRYPT_R3));
|
3675
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_CS_DEVICE_GRAY", INT2FIX(HPDF_CS_DEVICE_GRAY));
|
3676
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_CS_DEVICE_RGB", INT2FIX(HPDF_CS_DEVICE_RGB));
|
3677
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_CS_DEVICE_CMYK", INT2FIX(HPDF_CS_DEVICE_CMYK));
|
3678
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BUTT_END", INT2FIX(HPDF_BUTT_END));
|
3679
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ROUND_END", INT2FIX(HPDF_ROUND_END));
|
3680
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PROJECTING_SCUARE_END", INT2FIX(HPDF_PROJECTING_SCUARE_END));
|
3681
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_MITER_JOIN", INT2FIX(HPDF_MITER_JOIN));
|
3682
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ROUND_JOIN", INT2FIX(HPDF_ROUND_JOIN));
|
3683
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BEVEL_JOIN", INT2FIX(HPDF_BEVEL_JOIN));
|
3684
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_FILL", INT2FIX(HPDF_FILL));
|
3685
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_STROKE", INT2FIX(HPDF_STROKE));
|
3686
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_FILL_THEN_STROKE", INT2FIX(HPDF_FILL_THEN_STROKE));
|
3687
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_INVISIBLE", INT2FIX(HPDF_INVISIBLE));
|
3688
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_FILL_CLIPPING", INT2FIX(HPDF_FILL_CLIPPING));
|
3689
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_STROKE_CLIPPING", INT2FIX(HPDF_STROKE_CLIPPING));
|
3690
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_FILL_STROKE_CLIPPING", INT2FIX(HPDF_FILL_STROKE_CLIPPING));
|
3691
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_CLIPPING", INT2FIX(HPDF_CLIPPING));
|
3692
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_WMODE_HORIZONTAL", INT2FIX(HPDF_WMODE_HORIZONTAL));
|
3693
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_WMODE_VERTICAL", INT2FIX(HPDF_WMODE_VERTICAL));
|
3694
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_LAYOUT_SINGLE", INT2FIX(HPDF_PAGE_LAYOUT_SINGLE));
|
3695
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_LAYOUT_ONE_COLUMN", INT2FIX(HPDF_PAGE_LAYOUT_ONE_COLUMN));
|
3696
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_LAYOUT_TWO_COLUMN_LEFT", INT2FIX(HPDF_PAGE_LAYOUT_TWO_COLUMN_LEFT));
|
3697
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_LAYOUT_TWO_COLUMN_RIGHT", INT2FIX(HPDF_PAGE_LAYOUT_TWO_COLUMN_RIGHT));
|
3698
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_MODE_USE_NONE", INT2FIX(HPDF_PAGE_MODE_USE_NONE));
|
3699
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_MODE_USE_OUTLINE", INT2FIX(HPDF_PAGE_MODE_USE_OUTLINE));
|
3700
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_MODE_USE_THUMBS", INT2FIX(HPDF_PAGE_MODE_USE_THUMBS));
|
3701
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_MODE_FULL_SCREEN", INT2FIX(HPDF_PAGE_MODE_FULL_SCREEN));
|
3702
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_NUM_STYLE_DECIMAL", INT2FIX(HPDF_PAGE_NUM_STYLE_DECIMAL));
|
3703
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_NUM_STYLE_UPPER_ROMAN", INT2FIX(HPDF_PAGE_NUM_STYLE_UPPER_ROMAN));
|
3704
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_NUM_STYLE_LOWER_ROMAN", INT2FIX(HPDF_PAGE_NUM_STYLE_LOWER_ROMAN));
|
3705
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_NUM_STYLE_UPPER_LETTERS", INT2FIX(HPDF_PAGE_NUM_STYLE_UPPER_LETTERS));
|
3706
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_NUM_STYLE_LOWER_LETTERS", INT2FIX(HPDF_PAGE_NUM_STYLE_LOWER_LETTERS));
|
3707
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ANNOT_NO_HIGHTLIGHT", INT2FIX(HPDF_ANNOT_NO_HIGHTLIGHT));
|
3708
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ANNOT_INVERT_BOX", INT2FIX(HPDF_ANNOT_INVERT_BOX));
|
3709
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ANNOT_INVERT_BORDER", INT2FIX(HPDF_ANNOT_INVERT_BORDER));
|
3710
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ANNOT_DOWN_APPEARANCE", INT2FIX(HPDF_ANNOT_DOWN_APPEARANCE));
|
3711
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ANNOT_ICON_COMMENT", INT2FIX(HPDF_ANNOT_ICON_COMMENT));
|
3712
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ANNOT_ICON_KEY", INT2FIX(HPDF_ANNOT_ICON_KEY));
|
3713
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ANNOT_ICON_NOTE", INT2FIX(HPDF_ANNOT_ICON_NOTE));
|
3714
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ANNOT_ICON_HELP", INT2FIX(HPDF_ANNOT_ICON_HELP));
|
3715
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ANNOT_ICON_NEW_PARAGRAPH", INT2FIX(HPDF_ANNOT_ICON_NEW_PARAGRAPH));
|
3716
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ANNOT_ICON_PARAGRAPH", INT2FIX(HPDF_ANNOT_ICON_PARAGRAPH));
|
3717
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ANNOT_ICON_INSERT", INT2FIX(HPDF_ANNOT_ICON_INSERT));
|
3718
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_SIZE_LETTER", INT2FIX(HPDF_PAGE_SIZE_LETTER));
|
3719
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_SIZE_LEGAL", INT2FIX(HPDF_PAGE_SIZE_LEGAL));
|
3720
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_SIZE_A3", INT2FIX(HPDF_PAGE_SIZE_A3));
|
3721
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_SIZE_A4", INT2FIX(HPDF_PAGE_SIZE_A4));
|
3722
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_SIZE_A5", INT2FIX(HPDF_PAGE_SIZE_A5));
|
3723
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_SIZE_B4", INT2FIX(HPDF_PAGE_SIZE_B4));
|
3724
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_SIZE_B5", INT2FIX(HPDF_PAGE_SIZE_B5));
|
3725
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_SIZE_EXECUTIVE", INT2FIX(HPDF_PAGE_SIZE_EXECUTIVE));
|
3726
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_SIZE_US4x6", INT2FIX(HPDF_PAGE_SIZE_US4x6));
|
3727
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_SIZE_US4x8", INT2FIX(HPDF_PAGE_SIZE_US4x8));
|
3728
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_SIZE_US5x7", INT2FIX(HPDF_PAGE_SIZE_US5x7));
|
3729
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_SIZE_COMM10", INT2FIX(HPDF_PAGE_SIZE_COMM10));
|
3730
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_PORTRAIT", INT2FIX(HPDF_PAGE_PORTRAIT));
|
3731
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_PAGE_LANDSCAPE", INT2FIX(HPDF_PAGE_LANDSCAPE));
|
3732
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ENCODER_TYPE_SINGLE_BYTE", INT2FIX(HPDF_ENCODER_TYPE_SINGLE_BYTE));
|
3733
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ENCODER_TYPE_DOUBLE_BYTE", INT2FIX(HPDF_ENCODER_TYPE_DOUBLE_BYTE));
|
3734
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_ENCODER_TYPE_UNINITIALIZED", INT2FIX(HPDF_ENCODER_TYPE_UNINITIALIZED));
|
3735
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BYTE_TYPE_SINGLE", INT2FIX(HPDF_BYTE_TYPE_SINGLE));
|
3736
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BYTE_TYPE_LEAD", INT2FIX(HPDF_BYTE_TYPE_LEAD));
|
3737
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BYTE_TYPE_TRIAL", INT2FIX(HPDF_BYTE_TYPE_TRIAL));
|
3738
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_GMODE_PAGE_DESCRIPTION", INT2FIX(HPDF_GMODE_PAGE_DESCRIPTION));
|
3739
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_GMODE_PATH_OBJECT", INT2FIX(HPDF_GMODE_PATH_OBJECT));
|
3740
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_GMODE_TEXT_OBJECT", INT2FIX(HPDF_GMODE_TEXT_OBJECT));
|
3741
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_GMODE_CLIPPING_PATH", INT2FIX(HPDF_GMODE_CLIPPING_PATH));
|
3742
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_GMODE_SHADING", INT2FIX(HPDF_GMODE_SHADING));
|
3743
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_GMODE_INLINE_IMAGE", INT2FIX(HPDF_GMODE_INLINE_IMAGE));
|
3744
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_GMODE_EXTERNAL_OBJECT", INT2FIX(HPDF_GMODE_EXTERNAL_OBJECT));
|
3745
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TALIGN_LEFT", INT2FIX(HPDF_TALIGN_LEFT));
|
3746
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TALIGN_RIGHT", INT2FIX(HPDF_TALIGN_RIGHT));
|
3747
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TALIGN_CENTER", INT2FIX(HPDF_TALIGN_CENTER));
|
3748
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TALIGN_JUSTIFY", INT2FIX(HPDF_TALIGN_JUSTIFY));
|
3749
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BM_NORMAL", INT2FIX(HPDF_BM_NORMAL));
|
3750
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BM_MULTIPLY", INT2FIX(HPDF_BM_MULTIPLY));
|
3751
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BM_SCREEN", INT2FIX(HPDF_BM_SCREEN));
|
3752
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BM_OVERLAY", INT2FIX(HPDF_BM_OVERLAY));
|
3753
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BM_DARKEN", INT2FIX(HPDF_BM_DARKEN));
|
3754
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BM_LIGHTEN", INT2FIX(HPDF_BM_LIGHTEN));
|
3755
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BM_COLOR_DODGE", INT2FIX(HPDF_BM_COLOR_DODGE));
|
3756
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BM_COLOR_BUM", INT2FIX(HPDF_BM_COLOR_BUM));
|
3757
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BM_HARD_LIGHT", INT2FIX(HPDF_BM_HARD_LIGHT));
|
3758
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BM_SOFT_LIGHT", INT2FIX(HPDF_BM_SOFT_LIGHT));
|
3759
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BM_DIFFERENCE", INT2FIX(HPDF_BM_DIFFERENCE));
|
3760
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_BM_EXCLUSHON", INT2FIX(HPDF_BM_EXCLUSHON));
|
3761
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_WIPE_RIGHT", INT2FIX(HPDF_TS_WIPE_RIGHT));
|
3762
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_WIPE_UP", INT2FIX(HPDF_TS_WIPE_UP));
|
3763
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_WIPE_LEFT", INT2FIX(HPDF_TS_WIPE_LEFT));
|
3764
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_WIPE_DOWN", INT2FIX(HPDF_TS_WIPE_DOWN));
|
3765
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_BARN_DOORS_HORIZONTAL_OUT", INT2FIX(HPDF_TS_BARN_DOORS_HORIZONTAL_OUT));
|
3766
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_BARN_DOORS_HORIZONTAL_IN", INT2FIX(HPDF_TS_BARN_DOORS_HORIZONTAL_IN));
|
3767
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_BARN_DOORS_VERTICAL_OUT", INT2FIX(HPDF_TS_BARN_DOORS_VERTICAL_OUT));
|
3768
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_BARN_DOORS_VERTICAL_IN", INT2FIX(HPDF_TS_BARN_DOORS_VERTICAL_IN));
|
3769
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_BOX_OUT", INT2FIX(HPDF_TS_BOX_OUT));
|
3770
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_BOX_IN", INT2FIX(HPDF_TS_BOX_IN));
|
3771
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_BLINDS_HORIZONTAL", INT2FIX(HPDF_TS_BLINDS_HORIZONTAL));
|
3772
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_BLINDS_VERTICAL", INT2FIX(HPDF_TS_BLINDS_VERTICAL));
|
3773
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_DISSOLVE", INT2FIX(HPDF_TS_DISSOLVE));
|
3774
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_GLITTER_RIGHT", INT2FIX(HPDF_TS_GLITTER_RIGHT));
|
3775
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_GLITTER_DOWN", INT2FIX(HPDF_TS_GLITTER_DOWN));
|
3776
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT", INT2FIX(HPDF_TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT));
|
3777
|
+
rb_define_const(rb_cHPDFDoc, "HPDF_TS_REPLACE", INT2FIX(HPDF_TS_REPLACE));
|
3778
|
+
}
|
3779
|
+
|