Class: Pdfcrowd::Client
- Inherits:
-
Object
- Object
- Pdfcrowd::Client
- Defined in:
- lib/pdfcrowd.rb
Overview
Pdfcrowd API client.
Instance Method Summary collapse
-
#convertFile(fpath, outstream = nil) ⇒ Object
Converts an html file.
-
#convertHtml(content, outstream = nil) ⇒ Object
Converts an in-memory html document.
-
#convertURI(uri, outstream = nil) ⇒ Object
Converts a web page.
- #enableBackgrounds(value = true) ⇒ Object
- #enableHyperlinks(value = true) ⇒ Object
- #enableImages(value = true) ⇒ Object
- #enableJavaScript(value = true) ⇒ Object
- #enablePdfcrowdLogo(value = true) ⇒ Object
-
#initialize(username, apikey) ⇒ Client
constructor
Client constructor.
-
#numTokens ⇒ Object
Returns the number of available conversion tokens.
- #setApiKey(key) ⇒ Object
- #setAuthor(value) ⇒ Object
- #setDefaultTextEncoding(value) ⇒ Object
- #setEncrypted(val = true) ⇒ Object
- #setFailOnNon200(value) ⇒ Object
- #setFooterHtml(value) ⇒ Object
- #setFooterText(value) ⇒ Object
- #setFooterUrl(value) ⇒ Object
- #setHeaderFooterPageExcludeList(value) ⇒ Object
- #setHeaderHtml(value) ⇒ Object
- #setHeaderUrl(value) ⇒ Object
- #setHorizontalMargin(value) ⇒ Object
- #setHtmlZoom(value) ⇒ Object
- #setInitialPdfExactZoom(value) ⇒ Object
- #setInitialPdfZoomType(value) ⇒ Object
- #setMaxPages(value) ⇒ Object
- #setNoCopy(val = true) ⇒ Object
- #setNoModify(val = true) ⇒ Object
- #setNoPrint(val = true) ⇒ Object
- #setOwnerPassword(pwd) ⇒ Object
- #setPageBackgroundColor(value) ⇒ Object
- #setPageHeight(value) ⇒ Object
- #setPageLayout(value) ⇒ Object
- #setPageMargins(top, right, bottom, left) ⇒ Object
- #setPageMode(value) ⇒ Object
- #setPageNumberingOffset(value) ⇒ Object
- #setPageWidth(value) ⇒ Object
- #setPdfScalingFactor(value) ⇒ Object
- #setTransparentBackground(value = true) ⇒ Object
- #setUsername(username) ⇒ Object
- #setUserPassword(pwd) ⇒ Object
- #setVerticalMargin(value) ⇒ Object
- #setWatermark(url, offset_x = 0, offset_y = 0) ⇒ Object
- #setWatermarkInBackground(val = True) ⇒ Object
- #setWatermarkRotation(angle) ⇒ Object
- #usePrintMedia(value = true) ⇒ Object
- #useSSL(use_ssl) ⇒ Object
Constructor Details
#initialize(username, apikey) ⇒ Client
Client constructor.
username – your username at Pdfcrowd apikey – your API key
69 70 71 72 73 74 75 76 77 |
# File 'lib/pdfcrowd.rb', line 69 def initialize(username, apikey) useSSL(false) @fields = { 'username' => username, 'key' => apikey, 'html_zoom' => 200, 'pdf_scaling_factor' => 1 } end |
Instance Method Details
#convertFile(fpath, outstream = nil) ⇒ Object
Converts an html file.
fpath – a path to an html file outstream – an object having method ‘write(data)’; if nil then the
return value is a string containing the PDF.
108 109 110 |
# File 'lib/pdfcrowd.rb', line 108 def convertFile(fpath, outstream=nil) return post_multipart(fpath, outstream) end |
#convertHtml(content, outstream = nil) ⇒ Object
Converts an in-memory html document.
content – a string containing an html document outstream – an object having method ‘write(data)’; if nil then the
return value is a string containing the PDF.
97 98 99 |
# File 'lib/pdfcrowd.rb', line 97 def convertHtml(content, outstream=nil) return call_api_urlencoded('/api/pdf/convert/html/', content, outstream) end |
#convertURI(uri, outstream = nil) ⇒ Object
Converts a web page.
uri – a web page URL outstream – an object having method ‘write(data)’; if nil then the
return value is a string containing the PDF.
86 87 88 |
# File 'lib/pdfcrowd.rb', line 86 def convertURI(uri, outstream=nil) return call_api_urlencoded('/api/pdf/convert/uri/', uri, outstream) end |
#enableBackgrounds(value = true) ⇒ Object
200 201 202 |
# File 'lib/pdfcrowd.rb', line 200 def enableBackgrounds(value=true) @fields['no_backgrounds'] = (not value) end |
#enableHyperlinks(value = true) ⇒ Object
212 213 214 |
# File 'lib/pdfcrowd.rb', line 212 def enableHyperlinks(value=true) @fields['no_hyperlinks'] = (not value) end |
#enableImages(value = true) ⇒ Object
196 197 198 |
# File 'lib/pdfcrowd.rb', line 196 def enableImages(value=true) @fields['no_images'] = (not value) end |
#enableJavaScript(value = true) ⇒ Object
208 209 210 |
# File 'lib/pdfcrowd.rb', line 208 def enableJavaScript(value=true) @fields['no_javascript'] = (not value) end |
#enablePdfcrowdLogo(value = true) ⇒ Object
228 229 230 |
# File 'lib/pdfcrowd.rb', line 228 def enablePdfcrowdLogo(value=true) @fields['pdfcrowd_logo'] = value end |
#numTokens ⇒ Object
Returns the number of available conversion tokens.
115 116 117 118 |
# File 'lib/pdfcrowd.rb', line 115 def numTokens() uri = '/api/user/%s/tokens/' % @fields['username'] return Integer(call_api_urlencoded(uri)) end |
#setApiKey(key) ⇒ Object
129 130 131 |
# File 'lib/pdfcrowd.rb', line 129 def setApiKey(key) @fields['key'] = key end |
#setAuthor(value) ⇒ Object
242 243 244 |
# File 'lib/pdfcrowd.rb', line 242 def setAuthor(value) @fields['author'] = value end |
#setDefaultTextEncoding(value) ⇒ Object
216 217 218 |
# File 'lib/pdfcrowd.rb', line 216 def setDefaultTextEncoding(value) @fields['text_encoding'] = value end |
#setEncrypted(val = true) ⇒ Object
157 158 159 |
# File 'lib/pdfcrowd.rb', line 157 def setEncrypted(val=true) @fields['encrypted'] = val end |
#setFailOnNon200(value) ⇒ Object
246 247 248 |
# File 'lib/pdfcrowd.rb', line 246 def setFailOnNon200(value) @fields['fail_on_non200'] = value end |
#setFooterHtml(value) ⇒ Object
254 255 256 |
# File 'lib/pdfcrowd.rb', line 254 def (value) @fields['footer_html'] = value end |
#setFooterText(value) ⇒ Object
192 193 194 |
# File 'lib/pdfcrowd.rb', line 192 def (value) @fields['footer_text'] = value end |
#setFooterUrl(value) ⇒ Object
258 259 260 |
# File 'lib/pdfcrowd.rb', line 258 def (value) @fields['footer_url'] = value end |
#setHeaderFooterPageExcludeList(value) ⇒ Object
282 283 284 |
# File 'lib/pdfcrowd.rb', line 282 def (value) @fields['header_footer_page_exclude_list'] = value end |
#setHeaderHtml(value) ⇒ Object
262 263 264 |
# File 'lib/pdfcrowd.rb', line 262 def setHeaderHtml(value) @fields['header_html'] = value end |
#setHeaderUrl(value) ⇒ Object
266 267 268 |
# File 'lib/pdfcrowd.rb', line 266 def setHeaderUrl(value) @fields['header_url'] = value end |
#setHorizontalMargin(value) ⇒ Object
141 142 143 |
# File 'lib/pdfcrowd.rb', line 141 def setHorizontalMargin(value) @fields['margin_right'] = @fields['margin_left'] = value.to_s() end |
#setHtmlZoom(value) ⇒ Object
204 205 206 |
# File 'lib/pdfcrowd.rb', line 204 def setHtmlZoom(value) @fields['html_zoom'] = value end |
#setInitialPdfExactZoom(value) ⇒ Object
237 238 239 240 |
# File 'lib/pdfcrowd.rb', line 237 def setInitialPdfExactZoom(value) @fields['initial_pdf_zoom_type'] = 4 @fields['initial_pdf_zoom'] = value end |
#setInitialPdfZoomType(value) ⇒ Object
232 233 234 235 |
# File 'lib/pdfcrowd.rb', line 232 def setInitialPdfZoomType(value) assert { value>0 and value<=3 } @fields['initial_pdf_zoom_type'] = value end |
#setMaxPages(value) ⇒ Object
224 225 226 |
# File 'lib/pdfcrowd.rb', line 224 def setMaxPages(value) @fields['max_pages'] = value end |
#setNoCopy(val = true) ⇒ Object
177 178 179 |
# File 'lib/pdfcrowd.rb', line 177 def setNoCopy(val=true) @fields['no_copy'] = val end |
#setNoModify(val = true) ⇒ Object
173 174 175 |
# File 'lib/pdfcrowd.rb', line 173 def setNoModify(val=true) @fields['no_modify'] = val end |
#setNoPrint(val = true) ⇒ Object
169 170 171 |
# File 'lib/pdfcrowd.rb', line 169 def setNoPrint(val=true) @fields['no_print'] = val end |
#setOwnerPassword(pwd) ⇒ Object
165 166 167 |
# File 'lib/pdfcrowd.rb', line 165 def setOwnerPassword(pwd) @fields['owner_pwd'] = pwd end |
#setPageBackgroundColor(value) ⇒ Object
270 271 272 |
# File 'lib/pdfcrowd.rb', line 270 def setPageBackgroundColor(value) @fields['page_background_color'] = value end |
#setPageHeight(value) ⇒ Object
137 138 139 |
# File 'lib/pdfcrowd.rb', line 137 def setPageHeight(value) @fields['height'] = value end |
#setPageLayout(value) ⇒ Object
181 182 183 184 |
# File 'lib/pdfcrowd.rb', line 181 def setPageLayout(value) assert { value > 0 and value <= 3 } @fields['page_layout'] = value end |
#setPageMargins(top, right, bottom, left) ⇒ Object
149 150 151 152 153 154 |
# File 'lib/pdfcrowd.rb', line 149 def setPageMargins(top, right, bottom, left) @fields['margin_top'] = top.to_s() @fields['margin_right'] = right.to_s() @fields['margin_bottom'] = bottom.to_s() @fields['margin_left'] = left.to_s() end |
#setPageMode(value) ⇒ Object
186 187 188 189 |
# File 'lib/pdfcrowd.rb', line 186 def setPageMode(value) assert { value > 0 and value <= 3 } @fields['page_mode'] = value end |
#setPageNumberingOffset(value) ⇒ Object
278 279 280 |
# File 'lib/pdfcrowd.rb', line 278 def setPageNumberingOffset(value) @fields['page_numbering_offset'] = value end |
#setPageWidth(value) ⇒ Object
133 134 135 |
# File 'lib/pdfcrowd.rb', line 133 def setPageWidth(value) @fields['width'] = value end |
#setPdfScalingFactor(value) ⇒ Object
250 251 252 |
# File 'lib/pdfcrowd.rb', line 250 def setPdfScalingFactor(value) @fields['pdf_scaling_factor'] = value end |
#setTransparentBackground(value = true) ⇒ Object
274 275 276 |
# File 'lib/pdfcrowd.rb', line 274 def setTransparentBackground(value=true) @fields['transparent_background'] = value end |
#setUsername(username) ⇒ Object
125 126 127 |
# File 'lib/pdfcrowd.rb', line 125 def setUsername(username) @fields['username'] = username end |
#setUserPassword(pwd) ⇒ Object
161 162 163 |
# File 'lib/pdfcrowd.rb', line 161 def setUserPassword(pwd) @fields['user_pwd'] = pwd end |
#setVerticalMargin(value) ⇒ Object
145 146 147 |
# File 'lib/pdfcrowd.rb', line 145 def setVerticalMargin(value) @fields['margin_top'] = @fields['margin_bottom'] = value.to_s() end |
#setWatermark(url, offset_x = 0, offset_y = 0) ⇒ Object
286 287 288 289 290 |
# File 'lib/pdfcrowd.rb', line 286 def setWatermark(url, offset_x=0, offset_y=0) @fields["watermark_url"] = value @fields["watermark_offset_x"] = offset_x @fields["watermark_offset_y"] = offset_y end |
#setWatermarkInBackground(val = True) ⇒ Object
296 297 298 |
# File 'lib/pdfcrowd.rb', line 296 def setWatermarkInBackground(val=True) @fields["watermark_in_background"] = val end |
#setWatermarkRotation(angle) ⇒ Object
292 293 294 |
# File 'lib/pdfcrowd.rb', line 292 def setWatermarkRotation(angle) @fields["watermark_rotation"] = angle end |
#usePrintMedia(value = true) ⇒ Object
220 221 222 |
# File 'lib/pdfcrowd.rb', line 220 def usePrintMedia(value=true) @fields['use_print_media'] = value end |
#useSSL(use_ssl) ⇒ Object
120 121 122 123 |
# File 'lib/pdfcrowd.rb', line 120 def useSSL(use_ssl) @use_ssl = use_ssl @api_uri = use_ssl ? HTTPS_API_URI : HTTP_API_URI end |