pdflib_wrapper 0.0.1.2 → 0.0.2

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
  SHA1:
3
- metadata.gz: 541a208987fa585a4a6077345ade38a9f100b291
4
- data.tar.gz: c43d0aa51c7b5965ca05f150ca4141c669b6cc9f
3
+ metadata.gz: de6af10b0f4a58d46f7f7137b8b2c95e39879312
4
+ data.tar.gz: 41f17920f702e1e025ed4d5b98c8ca9c0c3894b8
5
5
  SHA512:
6
- metadata.gz: eb27406ed392d579be173fdb1d94a272899ece7f94ab502174c7d297dda6ce2ce993631e9943d5f0c31b1e48a3c5897d77ea7413878ff800e75cc13f35bca12d
7
- data.tar.gz: 01794d1308b7ee3431ba0ce1205c80e1ab354e1b9c5977a64f0684c2f275d8354090d28559165c57f7879e2dab1eaa5a167bef8881d79a1c250c6c51467d8017
6
+ metadata.gz: ca9c8cb8858d377173a8e08ea4e0505ea998fd7d91ac44a4f38e51977110f336eacf6ab276dd122b69e41ee767242374c4235ca723e6fba437974a6cc501fe4b
7
+ data.tar.gz: 33cd2dd9921ddfc077ee98ca2677ec6488354c69df456bc8cf52441f3f1114d0890034099cc6adf7471f65224f90e65b148a3c97a1d30610e26a2457b9af1227
@@ -11,6 +11,11 @@ module PdflibWrapper
11
11
  @document = @pdf.open_pdi_document( filepath, OptionListMapper.create_options('', key_values, singles, opts) )
12
12
  end
13
13
 
14
+ def open_page(page_number=1, opts={})
15
+ #TODO: support opts
16
+ External::Pdf::Page.new(@pdf, self, page_number, "" )
17
+ end
18
+
14
19
  def close
15
20
  #TODO: support opts
16
21
  @pdf.close_pdi_document(@document)
@@ -1,9 +1,10 @@
1
1
  module PdflibWrapper
2
2
  class Pdf
3
- attr_accessor :pdf
3
+ attr_accessor :pdf, :path
4
4
  def initialize(filepath, metadata={}, opts={})
5
5
  #pdflib likes to override the file, should do a check to see if file already exists
6
6
  #also pdflib like to make bad pdf if you dont close pdf after begin_document
7
+ @path = filepath
7
8
  @pdf = PDFlib.new
8
9
 
9
10
  #options legacy, return, exception
@@ -31,6 +32,7 @@ module PdflibWrapper
31
32
 
32
33
  def save
33
34
  @pdf.end_document("")
35
+ self
34
36
  end
35
37
  alias_method :close, :save
36
38
 
@@ -86,5 +88,13 @@ module PdflibWrapper
86
88
  def embed_pdf_page(page, x, y, opts={})
87
89
  Page.embed(@pdf, page, x, y, opts.dup)
88
90
  end
91
+
92
+ class << self
93
+ def open_pdf(filepath, opts={})
94
+ pdf = new('',{},opts[:pdflib_opts] || {}).pdf
95
+ opts.delete(:pdflib_opts) if opts[:pdflib_opts]
96
+ External::Pdf::Document.new(pdf, filepath, opts)
97
+ end
98
+ end
89
99
  end
90
100
  end
@@ -1,3 +1,3 @@
1
1
  module PdflibWrapper
2
- VERSION = '0.0.1.2'
2
+ VERSION = '0.0.2'
3
3
  end
@@ -20,24 +20,28 @@ describe PdflibWrapper do
20
20
 
21
21
  it "just creates Pdflib handle" do
22
22
  PdflibWrapper::Pdf.new('', {}, {dont_create_document: true})
23
+ #TODO: get document count and make sure its 0
24
+ end
25
+
26
+ it "store filepath" do
27
+ path = 'testing'
28
+ pdf = PdflibWrapper::Pdf.new(path, {}, {dont_create_document: true})
29
+ pdf.path.should be(path)
23
30
  end
24
31
 
25
32
  it "embeds pdf inside pdf" do
26
- embed_tempfile = Tempfile.new("embed.pdf")
27
- embed_pdf = PdflibWrapper::Pdf.new(embed_tempfile.path)
33
+ embed_pdf = PdflibWrapper::Pdf.new(Tempfile.new("embed.pdf").path)
28
34
  embed_pdf.new_page(2,4).save
29
35
  embed_pdf.save
30
36
 
31
- new_tempfile = Tempfile.new("new.pdf")
32
- new_pdf = PdflibWrapper::Pdf.new(new_tempfile.path)
37
+ new_pdf = PdflibWrapper::Pdf.new(Tempfile.new("new.pdf").path)
33
38
 
34
- external_pdf = new_pdf.open_pdf(embed_tempfile.path)
39
+ external_pdf = new_pdf.open_pdf(embed_pdf.path)
35
40
  external_pdf_page_one = new_pdf.open_pdf_page
36
41
 
37
42
  new_page = new_pdf.new_page(10,10)
38
43
 
39
- opts = {dpi: 288, box_size: [2,4], fit_options: ['fitmethod', 'meet']}
40
- new_pdf.embed_pdf_page(external_pdf_page_one, 0, 0, opts)
44
+ new_pdf.embed_pdf_page(external_pdf_page_one, 0, 0)
41
45
 
42
46
  new_page.save
43
47
  external_pdf_page_one.close
@@ -47,8 +51,7 @@ describe PdflibWrapper do
47
51
  end
48
52
 
49
53
  it "creates font" do
50
- tempfile = Tempfile.new("generate_test.pdf")
51
- pdf = PdflibWrapper::Pdf.new(tempfile.path, {}, {with_blank_page: true})
54
+ pdf = PdflibWrapper::Pdf.new(Tempfile.new("generate_test.pdf").path, {}, {with_blank_page: true})
52
55
  font = pdf.create_font("Helvetica", "winansi")
53
56
  font.should equal(pdf.pdf.load_font("Helvetica", "winansi", "" ))
54
57
  pdf.close
@@ -56,37 +59,29 @@ describe PdflibWrapper do
56
59
 
57
60
  it "gets width of external pdf" do
58
61
  width = 2.0
59
- external_tempfile = Tempfile.new("external.pdf")
60
- external_pdf = PdflibWrapper::Pdf.new(external_tempfile.path)
62
+ external_pdf = PdflibWrapper::Pdf.new(Tempfile.new("external.pdf").path)
61
63
  external_pdf.new_page(width,4).save
62
64
  external_pdf.save
63
65
 
64
-
65
- test_pdf = PdflibWrapper::Pdf.new(Tempfile.new("test.pdf").path, {}, {with_blank_page: true})
66
- document = test_pdf.open_pdf(external_tempfile.path)
67
- page = test_pdf.open_pdf_page(1)
66
+ test_pdf = PdflibWrapper::Pdf.open_pdf(external_pdf.path)
67
+ page = test_pdf.open_page(1)
68
68
  page.width.should be(width)
69
69
  end
70
70
 
71
71
  it "get height of external pdf" do
72
72
  height = 4.0
73
- external_tempfile = Tempfile.new("external.pdf")
74
- external_pdf = PdflibWrapper::Pdf.new(external_tempfile.path)
73
+ external_pdf = PdflibWrapper::Pdf.new(Tempfile.new("external.pdf").path)
75
74
  external_pdf.new_page(2, height).save
76
75
  external_pdf.save
77
76
 
78
-
79
- test_pdf = PdflibWrapper::Pdf.new(Tempfile.new("test.pdf").path, {}, {with_blank_page: true})
80
- document = test_pdf.open_pdf(external_tempfile.path)
81
- page = test_pdf.open_pdf_page(1)
77
+ test_pdf = PdflibWrapper::Pdf.open_pdf(external_pdf.path)
78
+ page = test_pdf.open_page(1)
82
79
  page.height.should be(height)
83
80
  end
84
81
 
85
82
  it "opens password protected pdf" do
86
- password_tempfile = Tempfile.new("external.pdf")
87
- PdflibWrapper::Pdf.new(password_tempfile.path, {}, {with_blank_page: true, masterpassword: 'magic'}).save
83
+ password_pdf = PdflibWrapper::Pdf.new(Tempfile.new("external.pdf").path, {}, {with_blank_page: true, masterpassword: 'magic'}).save
88
84
 
89
- pdf_handler = PdflibWrapper::Pdf.new('', {}, {dont_create_document: true})
90
- pdf_handler.open_pdf(password_tempfile.path, {password: 'magic'})
85
+ PdflibWrapper::Pdf.open_pdf(password_pdf.path, {password: 'magic'})
91
86
  end
92
87
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdflib_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.2
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Studener