poppler 3.4.3 → 4.0.1

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.
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: []