puppeteer_pdf 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.idea/workspace.xml +42 -17
- data/README.md +1 -1
- data/lib/puppeteer_pdf.rb +14 -12
- data/lib/puppeteer_pdf/version.rb +1 -1
- data/puppeteer_pdf.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '06882162cdc35cce56aa1817a16b2c3c658caaab5e3c2b021774735868b47095'
|
4
|
+
data.tar.gz: c822ca70de5af6386c914a9a11d3ed89eacbce8092017f1f07e7a5925f399673
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8eb8ed6cd7cb24d3fdfe30e6c1f210baa9d03e34090742f8ca8414f91a8b0e9ef9eaf3414ed240749cfa4c18742aac41c9eb324a27e8916d691ce9e579570945
|
7
|
+
data.tar.gz: 82c51cb39bcb87aa9055fc61fcd728af79aaafe959296dcf6d1bd782a968bc3fd154a6aa7f1f25f65e4723ba2062b7ae90513627f48a86b6f19c29373c576909
|
data/.idea/workspace.xml
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
<list default="true" id="dba716aa-5da0-418b-bf83-12361d0e012a" name="Default Changelist" comment="">
|
5
5
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
6
6
|
<change beforePath="$PROJECT_DIR$/lib/puppeteer_pdf.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/puppeteer_pdf.rb" afterDir="false" />
|
7
|
+
<change beforePath="$PROJECT_DIR$/lib/puppeteer_pdf/version.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/puppeteer_pdf/version.rb" afterDir="false" />
|
8
|
+
<change beforePath="$PROJECT_DIR$/puppeteer_pdf.gemspec" beforeDir="false" afterPath="$PROJECT_DIR$/puppeteer_pdf.gemspec" afterDir="false" />
|
7
9
|
</list>
|
8
10
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
9
11
|
<option name="SHOW_DIALOG" value="false" />
|
@@ -17,8 +19,8 @@
|
|
17
19
|
<entry file="file://$PROJECT_DIR$/README.md">
|
18
20
|
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
19
21
|
<state split_layout="SPLIT">
|
20
|
-
<first_editor relative-caret-position="
|
21
|
-
<caret line="
|
22
|
+
<first_editor relative-caret-position="289">
|
23
|
+
<caret line="54" column="5" selection-start-line="54" selection-start-column="5" selection-end-line="54" selection-end-column="5" />
|
22
24
|
</first_editor>
|
23
25
|
<second_editor />
|
24
26
|
</state>
|
@@ -28,22 +30,38 @@
|
|
28
30
|
<file pinned="false" current-in-tab="true">
|
29
31
|
<entry file="file://$PROJECT_DIR$/lib/puppeteer_pdf.rb">
|
30
32
|
<provider selected="true" editor-type-id="text-editor">
|
31
|
-
<state relative-caret-position="
|
32
|
-
<caret line="
|
33
|
+
<state relative-caret-position="413">
|
34
|
+
<caret line="37" column="95" lean-forward="true" selection-start-line="37" selection-start-column="95" selection-end-line="37" selection-end-column="95" />
|
35
|
+
</state>
|
36
|
+
</provider>
|
37
|
+
</entry>
|
38
|
+
</file>
|
39
|
+
<file pinned="false" current-in-tab="false">
|
40
|
+
<entry file="file://$PROJECT_DIR$/puppeteer_pdf.gemspec">
|
41
|
+
<provider selected="true" editor-type-id="text-editor">
|
42
|
+
<state relative-caret-position="180">
|
43
|
+
<caret line="12" column="64" selection-start-line="12" selection-start-column="64" selection-end-line="12" selection-end-column="64" />
|
33
44
|
</state>
|
34
45
|
</provider>
|
35
46
|
</entry>
|
36
47
|
</file>
|
37
48
|
</leaf>
|
38
49
|
</component>
|
50
|
+
<component name="FindInProjectRecents">
|
51
|
+
<findStrings>
|
52
|
+
<find>path</find>
|
53
|
+
<find>Puppeteer uses headless to create PDF from publ</find>
|
54
|
+
</findStrings>
|
55
|
+
</component>
|
39
56
|
<component name="Git.Settings">
|
40
57
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
41
58
|
</component>
|
42
59
|
<component name="IdeDocumentHistory">
|
43
60
|
<option name="CHANGED_PATHS">
|
44
61
|
<list>
|
45
|
-
<option value="$PROJECT_DIR$/lib/puppeteer_pdf/version.rb" />
|
46
62
|
<option value="$PROJECT_DIR$/README.md" />
|
63
|
+
<option value="$PROJECT_DIR$/lib/puppeteer_pdf/version.rb" />
|
64
|
+
<option value="$PROJECT_DIR$/puppeteer_pdf.gemspec" />
|
47
65
|
<option value="$PROJECT_DIR$/lib/puppeteer_pdf.rb" />
|
48
66
|
</list>
|
49
67
|
</option>
|
@@ -58,6 +76,7 @@
|
|
58
76
|
<foldersAlwaysOnTop value="true" />
|
59
77
|
</navigator>
|
60
78
|
<panes>
|
79
|
+
<pane id="Scope" />
|
61
80
|
<pane id="ProjectPane">
|
62
81
|
<subPane>
|
63
82
|
<expand>
|
@@ -74,7 +93,6 @@
|
|
74
93
|
<select />
|
75
94
|
</subPane>
|
76
95
|
</pane>
|
77
|
-
<pane id="Scope" />
|
78
96
|
</panes>
|
79
97
|
</component>
|
80
98
|
<component name="PropertiesComponent">
|
@@ -111,13 +129,13 @@
|
|
111
129
|
<servers />
|
112
130
|
</component>
|
113
131
|
<component name="TimeTrackingManager">
|
114
|
-
<option name="totallyTimeSpent" value="
|
132
|
+
<option name="totallyTimeSpent" value="1648000" />
|
115
133
|
</component>
|
116
134
|
<component name="ToolWindowManager">
|
117
135
|
<frame x="0" y="23" width="1280" height="721" extended-state="0" />
|
118
136
|
<editor active="true" />
|
119
137
|
<layout>
|
120
|
-
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.
|
138
|
+
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.16801292" />
|
121
139
|
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
122
140
|
<window_info id="Favorites" order="2" side_tool="true" />
|
123
141
|
<window_info anchor="bottom" id="Message" order="0" />
|
@@ -142,6 +160,16 @@
|
|
142
160
|
<option name="version" value="1" />
|
143
161
|
</component>
|
144
162
|
<component name="editorHistoryManager">
|
163
|
+
<entry file="file://$PROJECT_DIR$/README.md">
|
164
|
+
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
165
|
+
<state split_layout="SPLIT">
|
166
|
+
<first_editor relative-caret-position="289">
|
167
|
+
<caret line="54" column="5" selection-start-line="54" selection-start-column="5" selection-end-line="54" selection-end-column="5" />
|
168
|
+
</first_editor>
|
169
|
+
<second_editor />
|
170
|
+
</state>
|
171
|
+
</provider>
|
172
|
+
</entry>
|
145
173
|
<entry file="file://$PROJECT_DIR$/lib/puppeteer_pdf/version.rb">
|
146
174
|
<provider selected="true" editor-type-id="text-editor">
|
147
175
|
<state relative-caret-position="15">
|
@@ -149,20 +177,17 @@
|
|
149
177
|
</state>
|
150
178
|
</provider>
|
151
179
|
</entry>
|
152
|
-
<entry file="file://$PROJECT_DIR$/
|
153
|
-
<provider selected="true" editor-type-id="
|
154
|
-
<state
|
155
|
-
<
|
156
|
-
<caret line="52" column="15" selection-start-line="52" selection-start-column="15" selection-end-line="52" selection-end-column="15" />
|
157
|
-
</first_editor>
|
158
|
-
<second_editor />
|
180
|
+
<entry file="file://$PROJECT_DIR$/puppeteer_pdf.gemspec">
|
181
|
+
<provider selected="true" editor-type-id="text-editor">
|
182
|
+
<state relative-caret-position="180">
|
183
|
+
<caret line="12" column="64" selection-start-line="12" selection-start-column="64" selection-end-line="12" selection-end-column="64" />
|
159
184
|
</state>
|
160
185
|
</provider>
|
161
186
|
</entry>
|
162
187
|
<entry file="file://$PROJECT_DIR$/lib/puppeteer_pdf.rb">
|
163
188
|
<provider selected="true" editor-type-id="text-editor">
|
164
|
-
<state relative-caret-position="
|
165
|
-
<caret line="
|
189
|
+
<state relative-caret-position="413">
|
190
|
+
<caret line="37" column="95" lean-forward="true" selection-start-line="37" selection-start-column="95" selection-end-line="37" selection-end-column="95" />
|
166
191
|
</state>
|
167
192
|
</provider>
|
168
193
|
</entry>
|
data/README.md
CHANGED
data/lib/puppeteer_pdf.rb
CHANGED
@@ -16,26 +16,27 @@ module PuppeteerPdf
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def self.generate_pdf(url, output_file_path ,opts = {})
|
19
|
+
|
19
20
|
include_page_numbers = opts[:include_page_numbers] || true
|
20
21
|
random_string = generate_random_string
|
21
22
|
page_height = opts[:height] || 600
|
22
23
|
page_width = opts[:width] || 1125
|
23
|
-
page_layout = opts[:layout] || '
|
24
|
+
page_layout = opts[:layout] || ''
|
24
25
|
print_background = opts[:print_background] || true
|
25
26
|
header_text = opts[:header_text] || ''
|
26
27
|
footer_text = opts[:footer_text] || ''
|
27
|
-
format = opts[:format] || '
|
28
|
+
format = opts[:format] || ''
|
28
29
|
timeout = opts[:timeout] || 0
|
29
30
|
|
30
|
-
color_coding("ERROR : height must be Integer", 'red') unless page_height.class == Integer
|
31
|
-
color_coding("ERROR : widgth must be Integer", 'red') unless page_width.class == Integer
|
32
|
-
color_coding("ERROR : layout must be between ['Landscape']", 'red') unless ['Landscape'].include?(page_layout)
|
33
|
-
color_coding("ERROR : print_background must be Boolean", 'red') unless [TrueClass, FalseClass].include?(print_background.class)
|
34
|
-
color_coding("ERROR : header_text must be String", 'red') unless header_text.class == String
|
35
|
-
color_coding("ERROR : footer_text must be String", 'red') unless footer_text.class == String
|
36
|
-
color_coding("ERROR : timeout must be Integer", 'red') unless timeout.class == Integer
|
37
|
-
color_coding("ERROR : format must be between ['A4']", 'red') unless ['A4'].include?(format)
|
38
|
-
color_coding("ERROR : include_page_numbers must be Boolean", 'red') unless [TrueClass, FalseClass].include?(include_page_numbers.class)
|
31
|
+
color_coding("PuppeteerPdf ERROR : height must be Integer", 'red') unless page_height.class == Integer
|
32
|
+
color_coding("PuppeteerPdf ERROR : widgth must be Integer", 'red') unless page_width.class == Integer
|
33
|
+
color_coding("PuppeteerPdf ERROR : layout must be between ['Landscape']", 'red') unless ['Landscape', ''].include?(page_layout)
|
34
|
+
color_coding("PuppeteerPdf ERROR : print_background must be Boolean", 'red') unless [TrueClass, FalseClass].include?(print_background.class)
|
35
|
+
color_coding("PuppeteerPdf ERROR : header_text must be String", 'red') unless header_text.class == String
|
36
|
+
color_coding("PuppeteerPdf ERROR : footer_text must be String", 'red') unless footer_text.class == String
|
37
|
+
color_coding("PuppeteerPdf ERROR : timeout must be Integer", 'red') unless timeout.class == Integer
|
38
|
+
color_coding("PuppeteerPdf ERROR : format must be between ['A4']", 'red') unless ['A4', ''].include?(format)
|
39
|
+
color_coding("PuppeteerPdf ERROR : include_page_numbers must be Boolean", 'red') unless [TrueClass, FalseClass].include?(include_page_numbers.class)
|
39
40
|
|
40
41
|
|
41
42
|
need_to_display_headers = (header_text == '' && footer_text == '') == true ? false : true
|
@@ -47,7 +48,7 @@ module PuppeteerPdf
|
|
47
48
|
(async () => {
|
48
49
|
const browser = await puppeteer.launch();
|
49
50
|
const page = await browser.newPage();
|
50
|
-
await page.setViewport({ width: #{
|
51
|
+
await page.setViewport({ width: #{page_width}, height: #{page_height} })
|
51
52
|
await page.goto('#{url}', {waitUntil: 'networkidle2', timeout: #{timeout}});
|
52
53
|
await page.pdf({path: '#{output_file_path}', format: '#{format}', width: '#{page_width}px', height: '#{page_height}px', layout: '#{page_layout}' , printBackground: #{print_background}, displayHeaderFooter: #{need_to_display_headers},
|
53
54
|
margin: {top: 10, bottom: 40}, headerTemplate: '<span>#{header_text}</span>' });
|
@@ -74,4 +75,5 @@ module PuppeteerPdf
|
|
74
75
|
# 3 - TEST THEM AGAIN
|
75
76
|
# 4 - PUSH THE CODE TO GIT
|
76
77
|
# 5 - gem build puppeteer_pdf.gemspec
|
78
|
+
# 6 - gem push puppeteer_pdf.XXX.gem
|
77
79
|
end
|
data/puppeteer_pdf.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["muneebahmadfarooqi@gmail.com"]
|
11
11
|
|
12
12
|
spec.summary = "A ruby gem to create PDF from URL"
|
13
|
-
spec.description = "
|
13
|
+
spec.description = "A lightweight HTML to PDF generation GEM"
|
14
14
|
spec.homepage = "https://github.com/muneeb0011/puppeteer_pdf"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppeteer_pdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Muneeb
|
@@ -38,7 +38,7 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
|
-
description:
|
41
|
+
description: A lightweight HTML to PDF generation GEM
|
42
42
|
email:
|
43
43
|
- muneebahmadfarooqi@gmail.com
|
44
44
|
executables: []
|