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.
- data/lib/to_pdf/version.rb +1 -1
- data/lib/to_pdf/wkhtmltopdf.rb +18 -3
- metadata +6 -6
data/lib/to_pdf/version.rb
CHANGED
data/lib/to_pdf/wkhtmltopdf.rb
CHANGED
@@ -19,7 +19,10 @@ class Wkhtmltopdf
|
|
19
19
|
def string_to_pdf(string)
|
20
20
|
detect_executable_path unless @executable_path
|
21
21
|
|
22
|
-
|
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} --
|
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
|
+
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-
|
12
|
+
date: 2011-10-06 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
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: *
|
24
|
+
version_requirements: *70327959835880
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
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: *
|
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: []
|