poppler 2.2.4-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README +35 -0
- data/Rakefile +75 -0
- data/ext/poppler/depend +6 -0
- data/ext/poppler/extconf.rb +70 -0
- data/ext/poppler/poppler.def +2 -0
- data/ext/poppler/rbpoppler-action.c +372 -0
- data/ext/poppler/rbpoppler-annotation-callout-line.c +127 -0
- data/ext/poppler/rbpoppler-annotation-free-text.c +46 -0
- data/ext/poppler/rbpoppler-annotation-mapping.c +72 -0
- data/ext/poppler/rbpoppler-annotation-markup.c +98 -0
- data/ext/poppler/rbpoppler-annotation-text.c +53 -0
- data/ext/poppler/rbpoppler-annotation.c +74 -0
- data/ext/poppler/rbpoppler-attachment.c +124 -0
- data/ext/poppler/rbpoppler-button-field.c +56 -0
- data/ext/poppler/rbpoppler-choice-field.c +131 -0
- data/ext/poppler/rbpoppler-color.c +107 -0
- data/ext/poppler/rbpoppler-document.c +224 -0
- data/ext/poppler/rbpoppler-font-info.c +59 -0
- data/ext/poppler/rbpoppler-fonts-iter.c +127 -0
- data/ext/poppler/rbpoppler-form-field-mapping.c +44 -0
- data/ext/poppler/rbpoppler-form-field.c +98 -0
- data/ext/poppler/rbpoppler-image-mapping.c +48 -0
- data/ext/poppler/rbpoppler-index-iter.c +128 -0
- data/ext/poppler/rbpoppler-link-mapping.c +47 -0
- data/ext/poppler/rbpoppler-page-transition.c +59 -0
- data/ext/poppler/rbpoppler-page.c +322 -0
- data/ext/poppler/rbpoppler-private.h +77 -0
- data/ext/poppler/rbpoppler-ps-file.c +66 -0
- data/ext/poppler/rbpoppler-rectangle.c +92 -0
- data/ext/poppler/rbpoppler-text-field.c +91 -0
- data/ext/poppler/rbpoppler.c +111 -0
- data/ext/poppler/rbpoppler.h +61 -0
- data/ext/poppler/rbpopplerconversions.h +105 -0
- data/extconf.rb +49 -0
- data/lib/2.0/poppler.so +0 -0
- data/lib/2.1/poppler.so +0 -0
- data/lib/2.2/poppler.so +0 -0
- data/lib/poppler.rb +105 -0
- data/sample/number-pdf.rb +32 -0
- data/sample/pdf2.rb +132 -0
- data/sample/pdf2svg.rb +26 -0
- data/sample/pdf2text.rb +16 -0
- data/sample/pdfcrop.rb +32 -0
- data/sample/pdfdiv.rb +36 -0
- data/test/fixtures/image.pdf +0 -0
- data/test/fixtures/image.png +0 -0
- data/test/poppler-test-utils.rb +58 -0
- data/test/run-test.rb +32 -0
- data/test/test_annotation.rb +86 -0
- data/test/test_color.rb +26 -0
- data/test/test_constants.rb +30 -0
- data/test/test_document.rb +41 -0
- data/test/test_page.rb +42 -0
- data/vendor/local/bin/cjpeg.exe +0 -0
- data/vendor/local/bin/djpeg.exe +0 -0
- data/vendor/local/bin/jpegtran.exe +0 -0
- data/vendor/local/bin/libjpeg-9.dll +0 -0
- data/vendor/local/bin/libpoppler-48.dll +0 -0
- data/vendor/local/bin/libpoppler-cpp-0.dll +0 -0
- data/vendor/local/bin/libpoppler-glib-8.dll +0 -0
- data/vendor/local/bin/libsqlite3-0.dll +0 -0
- data/vendor/local/bin/pdfdetach.exe +0 -0
- data/vendor/local/bin/pdffonts.exe +0 -0
- data/vendor/local/bin/pdfimages.exe +0 -0
- data/vendor/local/bin/pdfinfo.exe +0 -0
- data/vendor/local/bin/pdfseparate.exe +0 -0
- data/vendor/local/bin/pdftocairo.exe +0 -0
- data/vendor/local/bin/pdftohtml.exe +0 -0
- data/vendor/local/bin/pdftoppm.exe +0 -0
- data/vendor/local/bin/pdftops.exe +0 -0
- data/vendor/local/bin/pdftotext.exe +0 -0
- data/vendor/local/bin/pdfunite.exe +0 -0
- data/vendor/local/bin/rdjpgcom.exe +0 -0
- data/vendor/local/bin/sqlite3.exe +0 -0
- data/vendor/local/bin/wrjpgcom.exe +0 -0
- data/vendor/local/include/jconfig.h +60 -0
- data/vendor/local/include/jerror.h +304 -0
- data/vendor/local/include/jmorecfg.h +446 -0
- data/vendor/local/include/jpeglib.h +1180 -0
- data/vendor/local/include/poppler/cpp/poppler-document.h +104 -0
- data/vendor/local/include/poppler/cpp/poppler-embedded-file.h +55 -0
- data/vendor/local/include/poppler/cpp/poppler-font.h +91 -0
- data/vendor/local/include/poppler/cpp/poppler-global.h +111 -0
- data/vendor/local/include/poppler/cpp/poppler-image.h +71 -0
- data/vendor/local/include/poppler/cpp/poppler-page-renderer.h +66 -0
- data/vendor/local/include/poppler/cpp/poppler-page-transition.h +82 -0
- data/vendor/local/include/poppler/cpp/poppler-page.h +76 -0
- data/vendor/local/include/poppler/cpp/poppler-rectangle.h +84 -0
- data/vendor/local/include/poppler/cpp/poppler-toc.h +74 -0
- data/vendor/local/include/poppler/cpp/poppler-version.h +39 -0
- data/vendor/local/include/poppler/glib/poppler-action.h +316 -0
- data/vendor/local/include/poppler/glib/poppler-annot.h +296 -0
- data/vendor/local/include/poppler/glib/poppler-attachment.h +87 -0
- data/vendor/local/include/poppler/glib/poppler-date.h +30 -0
- data/vendor/local/include/poppler/glib/poppler-document.h +299 -0
- data/vendor/local/include/poppler/glib/poppler-enums.h +116 -0
- data/vendor/local/include/poppler/glib/poppler-features.h +88 -0
- data/vendor/local/include/poppler/glib/poppler-form-field.h +111 -0
- data/vendor/local/include/poppler/glib/poppler-layer.h +43 -0
- data/vendor/local/include/poppler/glib/poppler-media.h +73 -0
- data/vendor/local/include/poppler/glib/poppler-movie.h +42 -0
- data/vendor/local/include/poppler/glib/poppler-page.h +377 -0
- data/vendor/local/include/poppler/glib/poppler-structure-element.h +357 -0
- data/vendor/local/include/poppler/glib/poppler.h +250 -0
- data/vendor/local/include/sqlite3.h +7494 -0
- data/vendor/local/include/sqlite3ext.h +487 -0
- data/vendor/local/lib/girepository-1.0/Poppler-0.18.typelib +0 -0
- data/vendor/local/lib/libjpeg.a +0 -0
- data/vendor/local/lib/libjpeg.dll.a +0 -0
- data/vendor/local/lib/libjpeg.la +41 -0
- data/vendor/local/lib/libpoppler-cpp.a +0 -0
- data/vendor/local/lib/libpoppler-cpp.dll.a +0 -0
- data/vendor/local/lib/libpoppler-cpp.la +41 -0
- data/vendor/local/lib/libpoppler-glib.a +0 -0
- data/vendor/local/lib/libpoppler-glib.dll.a +0 -0
- data/vendor/local/lib/libpoppler-glib.la +41 -0
- data/vendor/local/lib/libpoppler.a +0 -0
- data/vendor/local/lib/libpoppler.dll.a +0 -0
- data/vendor/local/lib/libpoppler.la +41 -0
- data/vendor/local/lib/libsqlite3.a +0 -0
- data/vendor/local/lib/libsqlite3.dll.a +0 -0
- data/vendor/local/lib/libsqlite3.la +41 -0
- data/vendor/local/lib/pkgconfig/poppler-cairo.pc +9 -0
- data/vendor/local/lib/pkgconfig/poppler-cpp.pc +13 -0
- data/vendor/local/lib/pkgconfig/poppler-glib.pc +13 -0
- data/vendor/local/lib/pkgconfig/poppler-splash.pc +9 -0
- data/vendor/local/lib/pkgconfig/poppler.pc +11 -0
- data/vendor/local/lib/pkgconfig/sqlite3.pc +13 -0
- data/vendor/local/share/gir-1.0/Poppler-0.18.gir +8281 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerAnnot.html +3221 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerAttachment.html +267 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerDocument.html +3328 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerFormField.html +1403 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerLayer.html +307 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerMedia.html +381 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerMovie.html +197 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerPage.html +3002 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerStructureElement.html +3781 -0
- data/vendor/local/share/gtk-doc/html/poppler/annotation-glossary.html +63 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-12.html +123 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-14.html +102 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-16.html +180 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-18.html +72 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-20.html +39 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-22.html +64 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-deprecated.html +39 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-full.html +1830 -0
- data/vendor/local/share/gtk-doc/html/poppler/ch01.html +74 -0
- data/vendor/local/share/gtk-doc/html/poppler/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/index.html +85 -0
- data/vendor/local/share/gtk-doc/html/poppler/index.sgml +557 -0
- data/vendor/local/share/gtk-doc/html/poppler/left-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/poppler-PDF-Utility-functions.html +107 -0
- data/vendor/local/share/gtk-doc/html/poppler/poppler-PopplerAction.html +796 -0
- data/vendor/local/share/gtk-doc/html/poppler/poppler-PopplerColor.html +201 -0
- data/vendor/local/share/gtk-doc/html/poppler/poppler-Version-and-Features-Information.html +254 -0
- data/vendor/local/share/gtk-doc/html/poppler/poppler-poppler.html +169 -0
- data/vendor/local/share/gtk-doc/html/poppler/poppler.devhelp2 +470 -0
- data/vendor/local/share/gtk-doc/html/poppler/right-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/style.css +476 -0
- data/vendor/local/share/gtk-doc/html/poppler/up-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/up.png +0 -0
- data/vendor/local/share/license/poppler/AUTHORS +5 -0
- data/vendor/local/share/license/poppler/COPYING +339 -0
- data/vendor/local/share/man/man1/cjpeg.1 +387 -0
- data/vendor/local/share/man/man1/djpeg.1 +252 -0
- data/vendor/local/share/man/man1/jpegtran.1 +293 -0
- data/vendor/local/share/man/man1/pdfdetach.1 +86 -0
- data/vendor/local/share/man/man1/pdffonts.1 +119 -0
- data/vendor/local/share/man/man1/pdfimages.1 +260 -0
- data/vendor/local/share/man/man1/pdfinfo.1 +152 -0
- data/vendor/local/share/man/man1/pdfseparate.1 +49 -0
- data/vendor/local/share/man/man1/pdftocairo.1 +295 -0
- data/vendor/local/share/man/man1/pdftohtml.1 +107 -0
- data/vendor/local/share/man/man1/pdftoppm.1 +170 -0
- data/vendor/local/share/man/man1/pdftops.1 +217 -0
- data/vendor/local/share/man/man1/pdftotext.1 +137 -0
- data/vendor/local/share/man/man1/pdfunite.1 +33 -0
- data/vendor/local/share/man/man1/rdjpgcom.1 +63 -0
- data/vendor/local/share/man/man1/sqlite3.1 +279 -0
- data/vendor/local/share/man/man1/wrjpgcom.1 +103 -0
- metadata +254 -0
@@ -0,0 +1,124 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2006 Ruby-GNOME2 Project Team
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#include "rbpoppler-private.h"
|
23
|
+
|
24
|
+
#define RG_TARGET_NAMESPACE cAttachment
|
25
|
+
#define SELF(self) (RVAL2POPPLERATTACHMENT(self))
|
26
|
+
|
27
|
+
static ID id_call;
|
28
|
+
|
29
|
+
static gboolean
|
30
|
+
attachment_save_func(const gchar *buf, gsize count, gpointer data,
|
31
|
+
G_GNUC_UNUSED GError **error)
|
32
|
+
{
|
33
|
+
VALUE result;
|
34
|
+
VALUE callback = (VALUE)data;
|
35
|
+
|
36
|
+
result = rb_funcall(callback, id_call, 1, rb_str_new(buf, count));
|
37
|
+
return RVAL2CBOOL(result);
|
38
|
+
}
|
39
|
+
|
40
|
+
static VALUE
|
41
|
+
rg_save(int argc, VALUE *argv, VALUE self)
|
42
|
+
{
|
43
|
+
VALUE filename;
|
44
|
+
gboolean result;
|
45
|
+
GError *error = NULL;
|
46
|
+
|
47
|
+
rb_scan_args(argc, argv, "01", &filename);
|
48
|
+
|
49
|
+
if (NIL_P(filename)) {
|
50
|
+
if (rb_block_given_p()) {
|
51
|
+
gpointer user_data = (gpointer)rb_block_proc();
|
52
|
+
result = poppler_attachment_save_to_callback(SELF(self),
|
53
|
+
attachment_save_func,
|
54
|
+
user_data,
|
55
|
+
&error);
|
56
|
+
} else {
|
57
|
+
rb_raise(rb_eArgError, "must provide filename or block");
|
58
|
+
}
|
59
|
+
} else {
|
60
|
+
result = poppler_attachment_save(SELF(self), RVAL2CSTR(filename),
|
61
|
+
&error);
|
62
|
+
}
|
63
|
+
|
64
|
+
if (error)
|
65
|
+
RAISE_GERROR(error);
|
66
|
+
|
67
|
+
return CBOOL2RVAL(result);
|
68
|
+
}
|
69
|
+
|
70
|
+
static VALUE
|
71
|
+
rg_name(VALUE self)
|
72
|
+
{
|
73
|
+
return CSTR2RVAL(SELF(self)->name);
|
74
|
+
}
|
75
|
+
|
76
|
+
static VALUE
|
77
|
+
rg_description(VALUE self)
|
78
|
+
{
|
79
|
+
return CSTR2RVAL(SELF(self)->description);
|
80
|
+
}
|
81
|
+
|
82
|
+
static VALUE
|
83
|
+
rg_size(VALUE self)
|
84
|
+
{
|
85
|
+
return INT2NUM(SELF(self)->size);
|
86
|
+
}
|
87
|
+
|
88
|
+
static VALUE
|
89
|
+
rg_mtime(VALUE self)
|
90
|
+
{
|
91
|
+
return rb_time_new(SELF(self)->mtime, 0);
|
92
|
+
}
|
93
|
+
|
94
|
+
static VALUE
|
95
|
+
rg_ctime(VALUE self)
|
96
|
+
{
|
97
|
+
return rb_time_new(SELF(self)->ctime, 0);
|
98
|
+
}
|
99
|
+
|
100
|
+
static VALUE
|
101
|
+
rg_checksum(VALUE self)
|
102
|
+
{
|
103
|
+
GString *checksum;
|
104
|
+
checksum = SELF(self)->checksum;
|
105
|
+
return rb_str_new(checksum->str, checksum->len);
|
106
|
+
}
|
107
|
+
|
108
|
+
void
|
109
|
+
Init_poppler_attachment(VALUE mPoppler)
|
110
|
+
{
|
111
|
+
VALUE RG_TARGET_NAMESPACE;
|
112
|
+
|
113
|
+
id_call = rb_intern("call");
|
114
|
+
|
115
|
+
RG_TARGET_NAMESPACE = G_DEF_CLASS(POPPLER_TYPE_ATTACHMENT, "Attachment", mPoppler);
|
116
|
+
|
117
|
+
RG_DEF_METHOD(save, -1);
|
118
|
+
RG_DEF_METHOD(name, 0);
|
119
|
+
RG_DEF_METHOD(description, 0);
|
120
|
+
RG_DEF_METHOD(size, 0);
|
121
|
+
RG_DEF_METHOD(mtime, 0);
|
122
|
+
RG_DEF_METHOD(ctime, 0);
|
123
|
+
RG_DEF_METHOD(checksum, 0);
|
124
|
+
}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2008 Ruby-GNOME2 Project Team
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#include "rbpoppler-private.h"
|
23
|
+
|
24
|
+
#define RG_TARGET_NAMESPACE cButtonField
|
25
|
+
#define _SELF(obj) RVAL2POPPLERFORMFIELD(obj)
|
26
|
+
|
27
|
+
static VALUE RG_TARGET_NAMESPACE;
|
28
|
+
|
29
|
+
static VALUE
|
30
|
+
rg_type(VALUE self)
|
31
|
+
{
|
32
|
+
return POPPLERFORMBUTTONTYPE2RVAL(poppler_form_field_button_get_button_type(_SELF(self)));
|
33
|
+
}
|
34
|
+
|
35
|
+
static VALUE
|
36
|
+
rg_active_p(VALUE self)
|
37
|
+
{
|
38
|
+
return CBOOL2RVAL(poppler_form_field_button_get_state(_SELF(self)));
|
39
|
+
}
|
40
|
+
|
41
|
+
static VALUE
|
42
|
+
rg_set_active(VALUE self, VALUE state)
|
43
|
+
{
|
44
|
+
poppler_form_field_button_set_state(_SELF(self), RVAL2CBOOL(state));
|
45
|
+
return Qnil;
|
46
|
+
}
|
47
|
+
|
48
|
+
void
|
49
|
+
Init_poppler_button_field(VALUE mPoppler, VALUE cFormField)
|
50
|
+
{
|
51
|
+
RG_TARGET_NAMESPACE = rb_define_class_under(mPoppler, "ButtonField", cFormField);
|
52
|
+
|
53
|
+
RG_DEF_METHOD(type, 0);
|
54
|
+
RG_DEF_METHOD_P(active, 0);
|
55
|
+
RG_DEF_METHOD(set_active, 1);
|
56
|
+
}
|
@@ -0,0 +1,131 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2008 Ruby-GNOME2 Project Team
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#include "rbpoppler-private.h"
|
23
|
+
|
24
|
+
#define RG_TARGET_NAMESPACE cChoiceField
|
25
|
+
#define _SELF(obj) RVAL2POPPLERFORMFIELD(obj)
|
26
|
+
|
27
|
+
static VALUE RG_TARGET_NAMESPACE;
|
28
|
+
|
29
|
+
static VALUE
|
30
|
+
rg_type(VALUE self)
|
31
|
+
{
|
32
|
+
return POPPLERFORMCHOICETYPE2RVAL(poppler_form_field_choice_get_choice_type(_SELF(self)));
|
33
|
+
}
|
34
|
+
|
35
|
+
static VALUE
|
36
|
+
rg_editable_p(VALUE self)
|
37
|
+
{
|
38
|
+
return CBOOL2RVAL(poppler_form_field_choice_is_editable(_SELF(self)));
|
39
|
+
}
|
40
|
+
|
41
|
+
static VALUE
|
42
|
+
rg_select_multiple_p(VALUE self)
|
43
|
+
{
|
44
|
+
return CBOOL2RVAL(poppler_form_field_choice_can_select_multiple(_SELF(self)));
|
45
|
+
}
|
46
|
+
|
47
|
+
static VALUE
|
48
|
+
rg_spell_check_p(VALUE self)
|
49
|
+
{
|
50
|
+
return CBOOL2RVAL(poppler_form_field_choice_do_spell_check(_SELF(self)));
|
51
|
+
}
|
52
|
+
|
53
|
+
static VALUE
|
54
|
+
rg_commit_on_change_p(VALUE self)
|
55
|
+
{
|
56
|
+
return CBOOL2RVAL(poppler_form_field_choice_commit_on_change(_SELF(self)));
|
57
|
+
}
|
58
|
+
|
59
|
+
static VALUE
|
60
|
+
rg_n_items(VALUE self)
|
61
|
+
{
|
62
|
+
return INT2NUM(poppler_form_field_choice_get_n_items(_SELF(self)));
|
63
|
+
}
|
64
|
+
|
65
|
+
static VALUE
|
66
|
+
rg_operator_choice_field_get_item(VALUE self, VALUE index)
|
67
|
+
{
|
68
|
+
return CSTR2RVAL(poppler_form_field_choice_get_item(_SELF(self),
|
69
|
+
NUM2INT(index)));
|
70
|
+
}
|
71
|
+
|
72
|
+
static VALUE
|
73
|
+
rg_selected_p(VALUE self, VALUE index)
|
74
|
+
{
|
75
|
+
return CBOOL2RVAL(poppler_form_field_choice_is_item_selected(_SELF(self),
|
76
|
+
NUM2INT(index)));
|
77
|
+
}
|
78
|
+
|
79
|
+
static VALUE
|
80
|
+
rg_select(VALUE self, VALUE index)
|
81
|
+
{
|
82
|
+
poppler_form_field_choice_select_item(_SELF(self), NUM2INT(index));
|
83
|
+
return Qnil;
|
84
|
+
}
|
85
|
+
|
86
|
+
static VALUE
|
87
|
+
rg_unselect_all(VALUE self)
|
88
|
+
{
|
89
|
+
poppler_form_field_choice_unselect_all(_SELF(self));
|
90
|
+
return Qnil;
|
91
|
+
}
|
92
|
+
|
93
|
+
static VALUE
|
94
|
+
rg_toggle(VALUE self, VALUE index)
|
95
|
+
{
|
96
|
+
poppler_form_field_choice_toggle_item(_SELF(self), NUM2INT(index));
|
97
|
+
return Qnil;
|
98
|
+
}
|
99
|
+
|
100
|
+
static VALUE
|
101
|
+
rg_set_text(VALUE self, VALUE text)
|
102
|
+
{
|
103
|
+
poppler_form_field_choice_set_text(_SELF(self), RVAL2CSTR_ACCEPT_NIL(text));
|
104
|
+
return Qnil;
|
105
|
+
}
|
106
|
+
|
107
|
+
static VALUE
|
108
|
+
rg_text(VALUE self)
|
109
|
+
{
|
110
|
+
return CSTR2RVAL(poppler_form_field_choice_get_text(_SELF(self)));
|
111
|
+
}
|
112
|
+
|
113
|
+
void
|
114
|
+
Init_poppler_choice_field(VALUE mPoppler, VALUE cFormField)
|
115
|
+
{
|
116
|
+
RG_TARGET_NAMESPACE = rb_define_class_under(mPoppler, "ChoiceField", cFormField);
|
117
|
+
|
118
|
+
RG_DEF_METHOD(type, 0);
|
119
|
+
RG_DEF_METHOD_P(editable, 0);
|
120
|
+
RG_DEF_METHOD_P(select_multiple, 0);
|
121
|
+
RG_DEF_METHOD_P(spell_check, 0);
|
122
|
+
RG_DEF_METHOD_P(commit_on_change, 0);
|
123
|
+
RG_DEF_METHOD(n_items, 0);
|
124
|
+
RG_DEF_METHOD_OPERATOR("[]", choice_field_get_item, 1);
|
125
|
+
RG_DEF_METHOD_P(selected, 1);
|
126
|
+
RG_DEF_METHOD(select, 1);
|
127
|
+
RG_DEF_METHOD(unselect_all, 0);
|
128
|
+
RG_DEF_METHOD(toggle, 1);
|
129
|
+
RG_DEF_METHOD(text, 0);
|
130
|
+
RG_DEF_METHOD(set_text, 1);
|
131
|
+
}
|
@@ -0,0 +1,107 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011-2013 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2006-2008 Ruby-GNOME2 Project Team
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#include "rbpoppler-private.h"
|
23
|
+
|
24
|
+
#define RG_TARGET_NAMESPACE rb_cPopplerColor
|
25
|
+
|
26
|
+
#ifdef POPPLER_TYPE_COLOR
|
27
|
+
VALUE RG_TARGET_NAMESPACE;
|
28
|
+
|
29
|
+
PopplerColor *
|
30
|
+
rb_poppler_ruby_object_to_color(VALUE color)
|
31
|
+
{
|
32
|
+
return RVAL2BOXED(color, POPPLER_TYPE_COLOR);
|
33
|
+
}
|
34
|
+
|
35
|
+
VALUE
|
36
|
+
rb_poppler_ruby_object_from_color_with_free(PopplerColor *color)
|
37
|
+
{
|
38
|
+
VALUE rb_color;
|
39
|
+
|
40
|
+
rb_color = POPPLERCOLOR2RVAL(color);
|
41
|
+
g_free(color);
|
42
|
+
return rb_color;
|
43
|
+
}
|
44
|
+
|
45
|
+
static VALUE
|
46
|
+
rg_initialize(VALUE self, VALUE red, VALUE green, VALUE blue)
|
47
|
+
{
|
48
|
+
PopplerColor color;
|
49
|
+
|
50
|
+
color.red = NUM2UINT(red);
|
51
|
+
color.green = NUM2UINT(green);
|
52
|
+
color.blue = NUM2UINT(blue);
|
53
|
+
|
54
|
+
G_INITIALIZE(self, g_boxed_copy(POPPLER_TYPE_COLOR, &color));
|
55
|
+
return Qnil;
|
56
|
+
}
|
57
|
+
|
58
|
+
DEF_ACCESSOR(color, red, RVAL2POPPLERCOLOR, UINT2NUM, NUM2UINT)
|
59
|
+
DEF_ACCESSOR(color, green, RVAL2POPPLERCOLOR, UINT2NUM, NUM2UINT)
|
60
|
+
DEF_ACCESSOR(color, blue, RVAL2POPPLERCOLOR, UINT2NUM, NUM2UINT)
|
61
|
+
|
62
|
+
static VALUE
|
63
|
+
rg_to_a(VALUE self)
|
64
|
+
{
|
65
|
+
PopplerColor *color;
|
66
|
+
color = RVAL2POPPLERCOLOR(self);
|
67
|
+
return rb_ary_new3(3,
|
68
|
+
UINT2NUM(color->red),
|
69
|
+
UINT2NUM(color->green),
|
70
|
+
UINT2NUM(color->blue));
|
71
|
+
}
|
72
|
+
|
73
|
+
static VALUE
|
74
|
+
rg_inspect(VALUE self)
|
75
|
+
{
|
76
|
+
VALUE inspected;
|
77
|
+
gchar *rgb;
|
78
|
+
PopplerColor *color;
|
79
|
+
|
80
|
+
color = RVAL2POPPLERCOLOR(self);
|
81
|
+
inspected = rb_call_super(0, NULL);
|
82
|
+
rb_str_resize(inspected, RSTRING_LEN(inspected) - 1);
|
83
|
+
rgb = g_strdup_printf(": [%u, %u, %u]>",
|
84
|
+
color->red, color->green, color->blue);
|
85
|
+
rb_str_cat2(inspected, rgb);
|
86
|
+
g_free(rgb);
|
87
|
+
return inspected;
|
88
|
+
}
|
89
|
+
#endif
|
90
|
+
|
91
|
+
void
|
92
|
+
Init_poppler_color(VALUE mPoppler)
|
93
|
+
{
|
94
|
+
#ifdef POPPLER_TYPE_COLOR
|
95
|
+
RG_TARGET_NAMESPACE = G_DEF_CLASS(POPPLER_TYPE_COLOR, "Color", mPoppler);
|
96
|
+
|
97
|
+
RG_DEF_METHOD(initialize, 3);
|
98
|
+
rbg_define_method(RG_TARGET_NAMESPACE, "red", color_get_red, 0);
|
99
|
+
rbg_define_method(RG_TARGET_NAMESPACE, "green", color_get_green, 0);
|
100
|
+
rbg_define_method(RG_TARGET_NAMESPACE, "blue", color_get_blue, 0);
|
101
|
+
rbg_define_method(RG_TARGET_NAMESPACE, "set_red", color_set_red, 1);
|
102
|
+
rbg_define_method(RG_TARGET_NAMESPACE, "set_green", color_set_green, 1);
|
103
|
+
rbg_define_method(RG_TARGET_NAMESPACE, "set_blue", color_set_blue, 1);
|
104
|
+
RG_DEF_METHOD(to_a, 0);
|
105
|
+
RG_DEF_METHOD(inspect, 0);
|
106
|
+
#endif
|
107
|
+
}
|
@@ -0,0 +1,224 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2006 Ruby-GNOME2 Project Team
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#include "rbpoppler-private.h"
|
23
|
+
|
24
|
+
#define RG_TARGET_NAMESPACE cDocument
|
25
|
+
|
26
|
+
static ID id_new, id_pdf_data_p, id_ensure_uri;
|
27
|
+
static VALUE cIndexIter;
|
28
|
+
static VALUE cFontInfo;
|
29
|
+
|
30
|
+
static VALUE
|
31
|
+
rg_initialize(int argc, VALUE *argv, VALUE self)
|
32
|
+
{
|
33
|
+
PopplerDocument *document = NULL;
|
34
|
+
GError *error = NULL;
|
35
|
+
VALUE uri_or_data, rb_password;
|
36
|
+
const char *password;
|
37
|
+
|
38
|
+
rb_scan_args(argc, argv, "11", &uri_or_data, &rb_password);
|
39
|
+
|
40
|
+
password = RVAL2CSTR_ACCEPT_NIL(rb_password);
|
41
|
+
|
42
|
+
if (RVAL2CBOOL(rb_funcall(self, id_pdf_data_p, 1, uri_or_data))) {
|
43
|
+
document = poppler_document_new_from_data(RSTRING_PTR(uri_or_data),
|
44
|
+
RSTRING_LEN(uri_or_data),
|
45
|
+
password, &error);
|
46
|
+
}
|
47
|
+
|
48
|
+
if (!document && !error) {
|
49
|
+
uri_or_data = rb_funcall(self, id_ensure_uri, 1, uri_or_data);
|
50
|
+
document = poppler_document_new_from_file(RVAL2CSTR(uri_or_data),
|
51
|
+
password, &error);
|
52
|
+
}
|
53
|
+
|
54
|
+
if (error)
|
55
|
+
RAISE_GERROR(error);
|
56
|
+
|
57
|
+
G_INITIALIZE(self, document);
|
58
|
+
return Qnil;
|
59
|
+
}
|
60
|
+
|
61
|
+
static VALUE
|
62
|
+
rg_save(VALUE self, VALUE uri)
|
63
|
+
{
|
64
|
+
gboolean result;
|
65
|
+
GError *error = NULL;
|
66
|
+
|
67
|
+
uri = rb_funcall(self, id_ensure_uri, 1, uri);
|
68
|
+
result = poppler_document_save(RVAL2POPPLERDOCUMENT(self), RVAL2CSTR(uri), &error);
|
69
|
+
|
70
|
+
if (error)
|
71
|
+
RAISE_GERROR(error);
|
72
|
+
|
73
|
+
return CBOOL2RVAL(result);
|
74
|
+
}
|
75
|
+
|
76
|
+
static VALUE
|
77
|
+
rg_save_a_copy(VALUE self, VALUE uri)
|
78
|
+
{
|
79
|
+
gboolean result;
|
80
|
+
GError *error = NULL;
|
81
|
+
|
82
|
+
uri = rb_funcall(self, id_ensure_uri, 1, uri);
|
83
|
+
result = poppler_document_save_a_copy(RVAL2POPPLERDOCUMENT(self), RVAL2CSTR(uri),
|
84
|
+
&error);
|
85
|
+
|
86
|
+
if (error)
|
87
|
+
RAISE_GERROR(error);
|
88
|
+
|
89
|
+
return CBOOL2RVAL(result);
|
90
|
+
}
|
91
|
+
|
92
|
+
static VALUE
|
93
|
+
rg_n_pages(VALUE self)
|
94
|
+
{
|
95
|
+
return INT2NUM(poppler_document_get_n_pages(RVAL2POPPLERDOCUMENT(self)));
|
96
|
+
}
|
97
|
+
|
98
|
+
static VALUE
|
99
|
+
rg_get_page(VALUE self, VALUE index_or_label)
|
100
|
+
{
|
101
|
+
VALUE rb_page;
|
102
|
+
PopplerPage *page;
|
103
|
+
|
104
|
+
if (RVAL2CBOOL(rb_obj_is_kind_of(index_or_label, rb_cInteger))) {
|
105
|
+
page = poppler_document_get_page(RVAL2POPPLERDOCUMENT(self),
|
106
|
+
NUM2INT(index_or_label));
|
107
|
+
} else if (RVAL2CBOOL(rb_obj_is_kind_of(index_or_label, rb_cString))) {
|
108
|
+
page = poppler_document_get_page_by_label(RVAL2POPPLERDOCUMENT(self),
|
109
|
+
RVAL2CSTR(index_or_label));
|
110
|
+
} else {
|
111
|
+
VALUE inspect;
|
112
|
+
inspect = rb_inspect(index_or_label);
|
113
|
+
rb_raise(rb_eArgError, "%s must be Integer or String",
|
114
|
+
RVAL2CSTR(inspect));
|
115
|
+
}
|
116
|
+
|
117
|
+
rb_page = GOBJ2RVAL(page);
|
118
|
+
if (page)
|
119
|
+
g_object_unref(page);
|
120
|
+
return rb_page;
|
121
|
+
}
|
122
|
+
|
123
|
+
static VALUE
|
124
|
+
rg_has_attachments_p(VALUE self)
|
125
|
+
{
|
126
|
+
return CBOOL2RVAL(poppler_document_has_attachments(RVAL2POPPLERDOCUMENT(self)));
|
127
|
+
}
|
128
|
+
|
129
|
+
static VALUE
|
130
|
+
rg_attachments(VALUE self)
|
131
|
+
{
|
132
|
+
return GLIST2ARYF(poppler_document_get_attachments(RVAL2POPPLERDOCUMENT(self)));
|
133
|
+
}
|
134
|
+
|
135
|
+
static VALUE
|
136
|
+
rg_find_dest(VALUE self, VALUE link_name)
|
137
|
+
{
|
138
|
+
PopplerDest *dest;
|
139
|
+
dest = poppler_document_find_dest(RVAL2POPPLERDOCUMENT(self), RVAL2CSTR(link_name));
|
140
|
+
return POPPLERDEST2RVAL(dest);
|
141
|
+
}
|
142
|
+
|
143
|
+
static VALUE
|
144
|
+
rg_get_form_field(VALUE self, VALUE id)
|
145
|
+
{
|
146
|
+
return GOBJ2RVAL(poppler_document_get_form_field(RVAL2POPPLERDOCUMENT(self),
|
147
|
+
NUM2INT(id)));
|
148
|
+
}
|
149
|
+
|
150
|
+
static VALUE
|
151
|
+
rg_each(VALUE self)
|
152
|
+
{
|
153
|
+
PopplerDocument *document;
|
154
|
+
int i, n_pages;
|
155
|
+
|
156
|
+
document = RVAL2POPPLERDOCUMENT(self);
|
157
|
+
n_pages = poppler_document_get_n_pages(document);
|
158
|
+
for (i = 0; i < n_pages; i++) {
|
159
|
+
PopplerPage *page;
|
160
|
+
VALUE rb_page;
|
161
|
+
|
162
|
+
page = poppler_document_get_page(document, i);
|
163
|
+
rb_page = GOBJ2RVAL(page);
|
164
|
+
if (page)
|
165
|
+
g_object_unref(page);
|
166
|
+
rb_yield(rb_page);
|
167
|
+
}
|
168
|
+
return self;
|
169
|
+
}
|
170
|
+
|
171
|
+
static VALUE
|
172
|
+
rg_index_iter(VALUE self)
|
173
|
+
{
|
174
|
+
return rb_funcall(cIndexIter, id_new, 1, self);
|
175
|
+
}
|
176
|
+
|
177
|
+
static VALUE
|
178
|
+
rg_font_info(VALUE self)
|
179
|
+
{
|
180
|
+
return rb_funcall(cFontInfo, id_new, 1, self);
|
181
|
+
}
|
182
|
+
|
183
|
+
void
|
184
|
+
Init_poppler_document(VALUE mPoppler)
|
185
|
+
{
|
186
|
+
VALUE RG_TARGET_NAMESPACE;
|
187
|
+
cIndexIter = rb_const_get(mPoppler, rb_intern("IndexIter"));
|
188
|
+
cFontInfo = rb_const_get(mPoppler, rb_intern("FontInfo"));
|
189
|
+
|
190
|
+
id_new = rb_intern("new");
|
191
|
+
id_pdf_data_p = rb_intern("pdf_data?");
|
192
|
+
id_ensure_uri = rb_intern("ensure_uri");
|
193
|
+
|
194
|
+
RG_TARGET_NAMESPACE = G_DEF_CLASS(POPPLER_TYPE_DOCUMENT, "Document", mPoppler);
|
195
|
+
|
196
|
+
G_DEF_CLASS(POPPLER_TYPE_PAGE_LAYOUT, "PageLayout", mPoppler);
|
197
|
+
G_DEF_CLASS(POPPLER_TYPE_PAGE_MODE, "PageMode", mPoppler);
|
198
|
+
G_DEF_CLASS(POPPLER_TYPE_FONT_TYPE, "FontType", mPoppler);
|
199
|
+
G_DEF_CLASS(POPPLER_TYPE_VIEWER_PREFERENCES, "ViewerPreferences", mPoppler);
|
200
|
+
G_DEF_CLASS(POPPLER_TYPE_PERMISSIONS, "Permissions", mPoppler);
|
201
|
+
|
202
|
+
rb_include_module(RG_TARGET_NAMESPACE, rb_mEnumerable);
|
203
|
+
|
204
|
+
RG_DEF_METHOD(initialize, -1);
|
205
|
+
RG_DEF_METHOD(save, 1);
|
206
|
+
RG_DEF_METHOD(save_a_copy, 1);
|
207
|
+
RG_DEF_METHOD(n_pages, 0);
|
208
|
+
RG_DEF_ALIAS("size", "n_pages");
|
209
|
+
RG_DEF_METHOD(get_page, 1);
|
210
|
+
RG_DEF_ALIAS("[]", "get_page");
|
211
|
+
RG_DEF_METHOD_P(has_attachments, 0);
|
212
|
+
RG_DEF_ALIAS("have_attachments?", "has_attachments?");
|
213
|
+
RG_DEF_METHOD(attachments, 0);
|
214
|
+
RG_DEF_METHOD(find_dest, 1);
|
215
|
+
RG_DEF_ALIAS("get_destination", "find_dest");
|
216
|
+
|
217
|
+
RG_DEF_METHOD(get_form_field, 1);
|
218
|
+
|
219
|
+
RG_DEF_METHOD(each, 0);
|
220
|
+
RG_DEF_ALIAS("pages", "to_a");
|
221
|
+
|
222
|
+
RG_DEF_METHOD(index_iter, 0);
|
223
|
+
RG_DEF_METHOD(font_info, 0);
|
224
|
+
}
|