puppeteer_pdf 0.1.0 → 0.2.0

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
  SHA256:
3
- metadata.gz: 82beba0d28c5441e6b25dda0cdf77d2ee7819968685b9f67fce19e4432e4a8be
4
- data.tar.gz: 1b5b21f360ad5751bedcbb6d20ff27358e35cf08e55ff4cc0f1ef1eaf643266f
3
+ metadata.gz: 9afd8a79ce2013b52d8678fdf5213d1becaf2a9950e859983a28f72e92890050
4
+ data.tar.gz: 420104117a689f363392cdfa38c05827e3fcb9e1fc186454b2290bd1331c59dc
5
5
  SHA512:
6
- metadata.gz: e266f9ed00c832e6717d1769a548dd2341a31abbe431f6d2d333333498e7a77508ebb23bbca3cc326046665eb387ae122d372ef3a8796391c0e9a91a06b2294c
7
- data.tar.gz: a9673cf07a8e0cb9833b83e345c245c676aad1eea40bffd337eea5a9988bcc4db3fcf383a43be9fea9142a71837344ecf0a36af9eb4d720c8ca3284914a02b8b
6
+ metadata.gz: 0eebe83b3b55dbd2fc98a7a0fde25565746c831323be3ca97584142920a8a2a85e8657aa875dbc93978744b0d5b193a96dffd07d7ec137ebb79a789d9bd01b2d
7
+ data.tar.gz: c739bc949605ed738aae1604d037e87296b2fb12d59d33f7502a0c467e77e1badaba1b45e81b76cfce8a5d9d1daa99704e22d92b49b815c2110b5ed3e073b8c5
data/.idea/workspace.xml CHANGED
@@ -2,10 +2,8 @@
2
2
  <project version="4">
3
3
  <component name="ChangeListManager">
4
4
  <list default="true" id="dba716aa-5da0-418b-bf83-12361d0e012a" name="Default Changelist" comment="">
5
- <change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
6
5
  <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
7
- <change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
8
- <change beforePath="$PROJECT_DIR$/puppeteer_pdf.gemspec" beforeDir="false" afterPath="$PROJECT_DIR$/puppeteer_pdf.gemspec" afterDir="false" />
6
+ <change beforePath="$PROJECT_DIR$/lib/puppeteer_pdf/version.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/puppeteer_pdf/version.rb" afterDir="false" />
9
7
  </list>
10
8
  <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
11
9
  <option name="SHOW_DIALOG" value="false" />
@@ -15,41 +13,20 @@
15
13
  </component>
16
14
  <component name="FileEditorManager">
17
15
  <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
18
- <file pinned="false" current-in-tab="true">
19
- <entry file="file://$PROJECT_DIR$/README.md">
20
- <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
21
- <state split_layout="SPLIT">
22
- <first_editor relative-caret-position="414">
23
- <caret line="37" lean-forward="true" selection-start-line="37" selection-end-line="37" />
24
- </first_editor>
25
- <second_editor />
26
- </state>
27
- </provider>
28
- </entry>
29
- </file>
30
- <file pinned="false" current-in-tab="false">
31
- <entry file="file://$PROJECT_DIR$/.gitignore">
32
- <provider selected="true" editor-type-id="text-editor">
33
- <state relative-caret-position="120">
34
- <caret line="8" column="5" selection-start-line="8" selection-start-column="5" selection-end-line="8" selection-end-column="5" />
35
- </state>
36
- </provider>
37
- </entry>
38
- </file>
39
16
  <file pinned="false" current-in-tab="false">
40
17
  <entry file="file://$PROJECT_DIR$/lib/puppeteer_pdf.rb">
41
18
  <provider selected="true" editor-type-id="text-editor">
42
- <state relative-caret-position="165">
43
- <caret line="11" selection-start-line="10" selection-end-line="11" />
19
+ <state>
20
+ <caret column="25" lean-forward="true" selection-start-column="25" selection-end-column="25" />
44
21
  </state>
45
22
  </provider>
46
23
  </entry>
47
24
  </file>
48
- <file pinned="false" current-in-tab="false">
49
- <entry file="file://$PROJECT_DIR$/puppeteer_pdf.gemspec">
25
+ <file pinned="false" current-in-tab="true">
26
+ <entry file="file://$PROJECT_DIR$/lib/puppeteer_pdf/version.rb">
50
27
  <provider selected="true" editor-type-id="text-editor">
51
- <state relative-caret-position="225">
52
- <caret line="15" selection-start-line="15" selection-end-line="15" />
28
+ <state relative-caret-position="15">
29
+ <caret line="1" column="16" selection-start-line="1" selection-start-column="16" selection-end-line="1" selection-end-column="16" />
53
30
  </state>
54
31
  </provider>
55
32
  </entry>
@@ -62,10 +39,11 @@
62
39
  <component name="IdeDocumentHistory">
63
40
  <option name="CHANGED_PATHS">
64
41
  <list>
65
- <option value="$PROJECT_DIR$/lib/puppeteer_pdf.rb" />
66
42
  <option value="$PROJECT_DIR$/puppeteer_pdf.gemspec" />
67
43
  <option value="$PROJECT_DIR$/.gitignore" />
68
44
  <option value="$PROJECT_DIR$/README.md" />
45
+ <option value="$PROJECT_DIR$/lib/puppeteer_pdf.rb" />
46
+ <option value="$PROJECT_DIR$/lib/puppeteer_pdf/version.rb" />
69
47
  </list>
70
48
  </option>
71
49
  </component>
@@ -86,11 +64,6 @@
86
64
  <item name="puppeteer_pdf" type="b2602c69:ProjectViewProjectNode" />
87
65
  <item name="puppeteer_pdf" type="462c0819:PsiDirectoryNode" />
88
66
  </path>
89
- <path>
90
- <item name="puppeteer_pdf" type="b2602c69:ProjectViewProjectNode" />
91
- <item name="puppeteer_pdf" type="462c0819:PsiDirectoryNode" />
92
- <item name="lib" type="462c0819:PsiDirectoryNode" />
93
- </path>
94
67
  </expand>
95
68
  <select />
96
69
  </subPane>
@@ -128,18 +101,18 @@
128
101
  <option name="presentableId" value="Default" />
129
102
  <updated>1559202765845</updated>
130
103
  <workItem from="1559202767218" duration="4297000" />
131
- <workItem from="1559209819753" duration="276000" />
104
+ <workItem from="1559209819753" duration="2032000" />
132
105
  </task>
133
106
  <servers />
134
107
  </component>
135
108
  <component name="TimeTrackingManager">
136
- <option name="totallyTimeSpent" value="4573000" />
109
+ <option name="totallyTimeSpent" value="6329000" />
137
110
  </component>
138
111
  <component name="ToolWindowManager">
139
112
  <frame x="0" y="23" width="1280" height="721" extended-state="0" />
140
113
  <editor active="true" />
141
114
  <layout>
142
- <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.16962843" />
115
+ <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.15912762" />
143
116
  <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
144
117
  <window_info id="Favorites" order="2" side_tool="true" />
145
118
  <window_info anchor="bottom" id="Message" order="0" />
@@ -175,13 +148,6 @@
175
148
  <entry file="file://$PROJECT_DIR$/Gemfile">
176
149
  <provider selected="true" editor-type-id="text-editor" />
177
150
  </entry>
178
- <entry file="file://$PROJECT_DIR$/lib/puppeteer_pdf.rb">
179
- <provider selected="true" editor-type-id="text-editor">
180
- <state relative-caret-position="165">
181
- <caret line="11" selection-start-line="10" selection-end-line="11" />
182
- </state>
183
- </provider>
184
- </entry>
185
151
  <entry file="file://$PROJECT_DIR$/puppeteer_pdf.gemspec">
186
152
  <provider selected="true" editor-type-id="text-editor">
187
153
  <state relative-caret-position="225">
@@ -189,6 +155,16 @@
189
155
  </state>
190
156
  </provider>
191
157
  </entry>
158
+ <entry file="file://$PROJECT_DIR$/README.md">
159
+ <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
160
+ <state split_layout="SPLIT">
161
+ <first_editor relative-caret-position="414">
162
+ <caret line="37" selection-start-line="37" selection-end-line="37" />
163
+ </first_editor>
164
+ <second_editor />
165
+ </state>
166
+ </provider>
167
+ </entry>
192
168
  <entry file="file://$PROJECT_DIR$/.gitignore">
193
169
  <provider selected="true" editor-type-id="text-editor">
194
170
  <state relative-caret-position="120">
@@ -196,13 +172,17 @@
196
172
  </state>
197
173
  </provider>
198
174
  </entry>
199
- <entry file="file://$PROJECT_DIR$/README.md">
200
- <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
201
- <state split_layout="SPLIT">
202
- <first_editor relative-caret-position="414">
203
- <caret line="37" lean-forward="true" selection-start-line="37" selection-end-line="37" />
204
- </first_editor>
205
- <second_editor />
175
+ <entry file="file://$PROJECT_DIR$/lib/puppeteer_pdf.rb">
176
+ <provider selected="true" editor-type-id="text-editor">
177
+ <state>
178
+ <caret column="25" lean-forward="true" selection-start-column="25" selection-end-column="25" />
179
+ </state>
180
+ </provider>
181
+ </entry>
182
+ <entry file="file://$PROJECT_DIR$/lib/puppeteer_pdf/version.rb">
183
+ <provider selected="true" editor-type-id="text-editor">
184
+ <state relative-caret-position="15">
185
+ <caret line="1" column="16" selection-start-line="1" selection-start-column="16" selection-end-line="1" selection-end-column="16" />
206
186
  </state>
207
187
  </provider>
208
188
  </entry>
data/lib/puppeteer_pdf.rb CHANGED
@@ -6,6 +6,22 @@ module PuppeteerPdf
6
6
 
7
7
  def self.generate_pdf(url, output_file_path ,opts = {})
8
8
  random_string = generate_random_string
9
+ page_height = opts[:height] || 600
10
+ page_width = opts[:width] || 1125
11
+ page_layout = opts[:layout] || 'Landscape'
12
+ print_background = opts[:print_background] || true
13
+ header_text = opts[:header_text] || ''
14
+ footer_text = opts[:footer_text] || ''
15
+
16
+ raise "ERROR : height must be Integer" unless page_height.class == Integer
17
+ raise "ERROR : widgth must be Integer" unless page_width.class == Integer
18
+ raise "ERROR : layout must be between ['Landscape']" unless ['Landscape'].include?(page_layout)
19
+ raise "ERROR : print_background must be Boolean" unless [TrueClass, FalseClass].include?(print_background.class)
20
+ raise "ERROR : header_text must be String" unless header_text.class == String
21
+ raise "ERROR : footer_text must be String" unless footer_text.class == String
22
+
23
+ need_to_display_headers = (header_text == '' && footer_text == '') == true ? false : true
24
+
9
25
  raise "INVALID PATH, Hint : (/path/file.pdf)" unless output_file_path.include?('.pdf')
10
26
  temp_path = output_file_path.reverse.split('/',2)[1].reverse
11
27
  tmp_js_file_name = "#{temp_path}/puppeteer_#{random_string}.js"
@@ -13,10 +29,10 @@ module PuppeteerPdf
13
29
  (async () => {
14
30
  const browser = await puppeteer.launch();
15
31
  const page = await browser.newPage();
16
- await page.setViewport({ width: 1125, height: 600 })
32
+ await page.setViewport({ width: #{page_height}, height: #{page_width} })
17
33
  await page.goto('#{url}', {waitUntil: 'networkidle2'});
18
- await page.pdf({path: '#{output_file_path}', width: '1125px', height: '700px', layout: 'Landscape' , printBackground: true, displayHeaderFooter: true,
19
- margin: {top: 10, bottom: 40}, headerTemplate: '<span></span>' });
34
+ await page.pdf({path: '#{output_file_path}', width: '#{page_width}px', height: '#{page_height}px', layout: '#{page_layout}' , printBackground: #{print_background}, displayHeaderFooter: #{need_to_display_headers},
35
+ margin: {top: 10, bottom: 40}, headerTemplate: '<span>#{header_text}</span>' });
20
36
  await browser.close();
21
37
  })();"
22
38
  file = File.open(tmp_js_file_name, "w")
@@ -1,3 +1,3 @@
1
1
  module PuppeteerPdf
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
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.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muneeb