puppeteer_pdf 0.2.2 → 0.2.3
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 +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: []
|