poppler 3.4.3 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9d93d68bb917c2628dff2e2899842cf9e537e1966e634c31e25400e74b542f91
4
- data.tar.gz: c59c2d386219a006620de120c92efc219c797ba76d2aee34a48dfb22c48815dc
3
+ metadata.gz: d97ca6c8acd9656993c3037045300e00eab93c11fc34acacf7f10b663f904da8
4
+ data.tar.gz: 38243b6585f110d6b782efd839bcd55d16b41a3d43ca3640f10a8b2f6aa427e9
5
5
  SHA512:
6
- metadata.gz: 65276ca97148a8079bf94851b206c5322342791faf04fb099c42872e9838174ce1371debe0bf1a472e754dcefefe5344a2c330bea2c3601decfdf52b02ed2dde
7
- data.tar.gz: 3612629cfc4069da8992add32121183fd53a39da1c8e369c68059133ceda4219a9ab40e822c09db3502d0406d0c61e0f6dff5dead04c54c08b42a92b14de66d7
6
+ metadata.gz: 6d809f5aea68aa39b26f43f0d0bf810c45590d9da6784cbeaf12485276a55d9111b7be9b532d66adf2b337a6f9604d2acf261b4a6b4da5e7c48765af155d9f90
7
+ data.tar.gz: a08dbc6304f0cfd0bed7b417cd845e03c489ba9b5e2d495f3e85dfddbf260041a7fd1ea252f27aab4201a9fecf2fd4378ea988a5444da5e80b3db5f7ac0b39c8
@@ -48,18 +48,15 @@ module Poppler
48
48
  password = options[:password]
49
49
 
50
50
  if data
51
- # Workaround: poppler_document_new_from_data()'s .gir
52
- # accepts PDF data as UTF-8 string. PDF data is not UTF-8
53
- # string. So UTF-8 validation is failed.
54
- #
55
- # TODO: Enable the following:
56
- # initialize_new_from_data(data, password)
57
-
58
- @file = Tempfile.new(["poppler", ".pdf"])
59
- @file.binmode
60
- @file.write(data)
61
- @file.close
62
- initialize_new_from_file(ensure_uri(@file.path), password)
51
+ if respond_to?(:initialize_new_from_bytes)
52
+ initialize_new_from_bytes(data, password)
53
+ else
54
+ @file = Tempfile.new(["poppler", ".pdf"])
55
+ @file.binmode
56
+ @file.write(data)
57
+ @file.close
58
+ initialize_new_from_file(ensure_uri(@file.path), password)
59
+ end
63
60
  elsif uri
64
61
  initialize_new_from_file(uri, password)
65
62
  elsif path
@@ -1,6 +1,24 @@
1
+ # Copyright (C) 2008-2021 Ruby-GNOME Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
1
17
  require "open-uri"
2
18
  require "fileutils"
3
19
 
20
+ require "poppler"
21
+
4
22
  module PopplerTestUtils
5
23
  def ensure_dir(dir)
6
24
  FileUtils.mkdir_p(dir)
data/test/run-test.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # Copyright (C) 2017 Ruby-GNOME2 Project Team
3
+ # Copyright (C) 2017-2021 Ruby-GNOME Project Team
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the GNU Lesser General Public
@@ -16,45 +16,17 @@
16
16
  # License along with this library; if not, write to the Free Software
17
17
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
18
 
19
-
20
- base_dir = File.expand_path(File.join(File.dirname(__FILE__), ".."))
21
-
22
- have_make = system("which make > /dev/null")
23
-
24
- glib_dir = File.expand_path(File.join(base_dir, "..", "glib2"))
25
- gio_dir = File.expand_path(File.join(base_dir, "..", "gio2"))
26
- cairo_gobject_dir = File.expand_path(File.join(base_dir, "..", "cairo-gobject"))
27
- gdk_pixbuf_dir = File.expand_path(File.join(base_dir, "..", "gdk_pixbuf2"))
28
- pango_dir = File.join(File.join(base_dir, ".." , "pango"))
29
- gobject_introspection_dir =
30
- File.join(File.join(base_dir, ".." , "gobject-introspection"))
31
-
32
- $LOAD_PATH.unshift(File.join(glib_dir, "test"))
33
- require 'glib-test-init'
34
-
35
- [
36
- [glib_dir, "glib2"],
37
- [gio_dir, "gio2"],
38
- [cairo_gobject_dir, "cairo-gobject"],
39
- [gdk_pixbuf_dir, "gdk_pixbuf2"],
40
- [pango_dir, "pango"],
41
- [gobject_introspection_dir, "gobject-introspection"],
42
- [base_dir, "poppler"],
43
- ].each do |dir, module_name|
44
- if File.exist?(File.join(dir, "Makefile"))
45
- if have_make
46
- system("cd #{dir.dump} && make > /dev/null") or exit(false)
47
- end
48
- $LOAD_PATH.unshift(File.join(dir, "ext", module_name))
49
- end
50
- $LOAD_PATH.unshift(File.join(dir, "lib"))
51
- end
52
- require "poppler"
53
-
54
- $LOAD_PATH.unshift(File.join(base_dir, "test"))
55
- require 'poppler-test-utils'
56
- class Test::Unit::TestCase
57
- include PopplerTestUtils
19
+ require_relative "../../glib2/test/run-test"
20
+
21
+ run_test(__dir__,
22
+ [
23
+ "glib2",
24
+ "gobject-introspection",
25
+ "cairo-gobject",
26
+ "gio2",
27
+ "gdk_pixbuf2",
28
+ "pango",
29
+ "poppler",
30
+ ]) do
31
+ require_relative "poppler-test-utils"
58
32
  end
59
-
60
- exit Test::Unit::AutoRunner.run(true, File.join(base_dir, "test"))
@@ -1,4 +1,22 @@
1
+ # Copyright (C) 2008-2021 Ruby-GNOME Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
1
17
  class TestAnnotation < Test::Unit::TestCase
18
+ include PopplerTestUtils
19
+
2
20
  def test_type
3
21
  assert_kind_of(Poppler::AnnotType, annotation.type)
4
22
  end
@@ -1,4 +1,22 @@
1
+ # Copyright (C) 2008-2022 Ruby-GNOME Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
1
17
  class TestDocument < Test::Unit::TestCase
18
+ include PopplerTestUtils
19
+
2
20
  sub_test_case("#initialize") do
3
21
  sub_test_case(":data") do
4
22
  def with_default_internal(encoding)
@@ -14,15 +32,27 @@ class TestDocument < Test::Unit::TestCase
14
32
  end
15
33
  end
16
34
 
17
- def test_default_internal
35
+ def setup
18
36
  pdf = StringIO.new("".b)
19
- surface = Cairo::PDFSurface.new(pdf, 100, 100)
20
- context = Cairo::Context.new(surface)
21
- context.show_text("Hello")
22
- surface.finish
37
+ Cairo::PDFSurface.create(pdf, 100, 100) do |surface|
38
+ Cairo::Context.create(surface) do |context|
39
+ context.show_text("Hello")
40
+ end
41
+ end
42
+ @pdf_data = pdf.string.freeze
43
+ end
44
+
45
+ def test_default_internal
46
+ document = with_default_internal(Encoding::UTF_8) do
47
+ Poppler::Document.new(data: @pdf_data)
48
+ end
49
+ assert_equal("Hello", document[0].text)
50
+ end
23
51
 
52
+ def test_glib_bytes
53
+ only_poppler_version(0, 82, 0)
24
54
  document = with_default_internal(Encoding::UTF_8) do
25
- Poppler::Document.new(:data => pdf.string)
55
+ Poppler::Document.new(data: GLib::Bytes.new(@pdf_data))
26
56
  end
27
57
  assert_equal("Hello", document[0].text)
28
58
  end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2017 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2017-2021 Ruby-GNOME Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -15,6 +15,8 @@
15
15
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
  class TestIndexIter < Test::Unit::TestCase
18
+ include PopplerTestUtils
19
+
18
20
  def test_title
19
21
  document = Poppler::Document.new(outline_pdf)
20
22
  assert_equal([
data/test/test-page.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2008-2018 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2008-2021 Ruby-GNOME Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -15,6 +15,8 @@
15
15
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
  class TestPage < Test::Unit::TestCase
18
+ include PopplerTestUtils
19
+
18
20
  def test_get_image
19
21
  document = Poppler::Document.new(image_pdf)
20
22
  page, mapping = find_first_image_mapping(document)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: poppler
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.3
4
+ version: 4.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Ruby-GNOME Project Team
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-10 00:00:00.000000000 Z
11
+ date: 2022-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cairo-gobject
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 3.4.3
19
+ version: 4.0.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 3.4.3
26
+ version: 4.0.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: gio2
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 3.4.3
33
+ version: 4.0.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 3.4.3
40
+ version: 4.0.1
41
41
  description: Ruby/Poppler is a Ruby binding of poppler-glib.
42
42
  email: ruby-gnome2-devel-en@lists.sourceforge.net
43
43
  executables: []
@@ -92,7 +92,7 @@ licenses:
92
92
  - LGPL-2.1+
93
93
  metadata:
94
94
  msys2_mingw_dependencies: poppler
95
- post_install_message:
95
+ post_install_message:
96
96
  rdoc_options: []
97
97
  require_paths:
98
98
  - lib
@@ -107,8 +107,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
107
  - !ruby/object:Gem::Version
108
108
  version: '0'
109
109
  requirements: []
110
- rubygems_version: 3.2.0.pre1
111
- signing_key:
110
+ rubygems_version: 3.4.0.dev
111
+ signing_key:
112
112
  specification_version: 4
113
113
  summary: Ruby/Poppler is a Ruby binding of poppler-glib.
114
114
  test_files: []