to_pdf 0.1.4 → 0.1.5

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.
@@ -1,3 +1,3 @@
1
1
  module ToPDF
2
- VERSION = '0.1.4'
2
+ VERSION = '0.1.5'
3
3
  end
@@ -19,7 +19,10 @@ class Wkhtmltopdf
19
19
  def string_to_pdf(string)
20
20
  detect_executable_path unless @executable_path
21
21
 
22
- pdf = IO.popen(wkhtmltopdf_command, 'w+')
22
+ header = extract_header_url(string)
23
+ footer = extract_footer_url(string)
24
+
25
+ pdf = IO.popen(wkhtmltopdf_command(header, footer), 'w+')
23
26
  pdf.puts(localise_paths(string))
24
27
  pdf.close_write
25
28
  result = pdf.gets(nil)
@@ -28,8 +31,8 @@ class Wkhtmltopdf
28
31
  result
29
32
  end
30
33
 
31
- def wkhtmltopdf_command
32
- "#{@executable_path} --quiet --allow #{Rails.public_path} - -"
34
+ def wkhtmltopdf_command(header, footer)
35
+ "#{@executable_path} -q#{" --header-html '#{header}'" if header}#{" --footer-html '#{footer}'" if footer} - - "
33
36
  end
34
37
 
35
38
  def localise_paths(string)
@@ -44,5 +47,17 @@ class Wkhtmltopdf
44
47
 
45
48
  string
46
49
  end
50
+
51
+ def extract_header_url(string)
52
+ header_url = nil
53
+ string.scan(/<meta [^>]*>/).each { |meta| header_url = meta.scan(/content=["']([^"']*)/)[0][0] unless meta.scan(/name="header"/).empty?}
54
+ header_url
55
+ end
56
+
57
+ def extract_footer_url(string)
58
+ footer_url = nil
59
+ string.scan(/<meta [^>]*>/).each { |meta| footer_url = meta.scan(/content=["']([^"']*)/)[0][0] unless meta.scan(/name="footer"/).empty?}
60
+ footer_url
61
+ end
47
62
  end
48
63
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: to_pdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-05 00:00:00.000000000Z
12
+ date: 2011-10-06 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70344200396480 !ruby/object:Gem::Requirement
16
+ requirement: &70327959835880 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70344200396480
24
+ version_requirements: *70327959835880
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70344200395800 !ruby/object:Gem::Requirement
27
+ requirement: &70327959835300 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: 2.6.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70344200395800
35
+ version_requirements: *70327959835300
36
36
  description: Render rails actions as a PDF using PrinceXML.
37
37
  email: hugh@artpop.com.au
38
38
  executables: []