hpdf 2.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
+
|