Class: Pdfcrowd::PdfToPdfClient
- Inherits:
-
Object
- Object
- Pdfcrowd::PdfToPdfClient
- Defined in:
- lib/pdfcrowd.rb
Overview
Conversion from PDF to PDF.
Instance Method Summary collapse
- #addPdfFile(file_path) ⇒ Object
- #addPdfRawData(data) ⇒ Object
- #convert ⇒ Object
- #convertToFile(file_path) ⇒ Object
- #convertToStream(out_stream) ⇒ Object
- #getConsumedCreditCount ⇒ Object
- #getDebugLogUrl ⇒ Object
- #getJobId ⇒ Object
- #getOutputSize ⇒ Object
- #getPageCount ⇒ Object
- #getRemainingCreditCount ⇒ Object
- #getVersion ⇒ Object
-
#initialize(user_name, api_key) ⇒ PdfToPdfClient
constructor
A new instance of PdfToPdfClient.
- #setAction(action) ⇒ Object
- #setAuthor(author) ⇒ Object
- #setCenterWindow(value) ⇒ Object
- #setClientUserAgent(agent) ⇒ Object
- #setConverterVersion(version) ⇒ Object
- #setDebugLog(value) ⇒ Object
- #setDisplayTitle(value) ⇒ Object
- #setEncrypt(value) ⇒ Object
- #setFitWindow(value) ⇒ Object
- #setHideMenubar(value) ⇒ Object
- #setHideToolbar(value) ⇒ Object
- #setHideWindowUi(value) ⇒ Object
- #setInitialPage(page) ⇒ Object
- #setInitialZoom(zoom) ⇒ Object
- #setInitialZoomType(zoom_type) ⇒ Object
- #setInputPdfPassword(password) ⇒ Object
- #setKeywords(keywords) ⇒ Object
- #setLinearize(value) ⇒ Object
- #setMultipageBackground(background) ⇒ Object
- #setMultipageBackgroundUrl(url) ⇒ Object
- #setMultipageWatermark(watermark) ⇒ Object
- #setMultipageWatermarkUrl(url) ⇒ Object
- #setNoCopy(value) ⇒ Object
- #setNoModify(value) ⇒ Object
- #setNoPrint(value) ⇒ Object
- #setOwnerPassword(password) ⇒ Object
- #setPageBackground(background) ⇒ Object
- #setPageBackgroundUrl(url) ⇒ Object
- #setPageLayout(layout) ⇒ Object
- #setPageMode(mode) ⇒ Object
- #setPageRange(pages) ⇒ Object
- #setPageWatermark(watermark) ⇒ Object
- #setPageWatermarkUrl(url) ⇒ Object
- #setProxy(host, port, user_name, password) ⇒ Object
- #setRetryCount(count) ⇒ Object
- #setRightToLeft(value) ⇒ Object
- #setSubject(subject) ⇒ Object
- #setTag(tag) ⇒ Object
- #setTitle(title) ⇒ Object
- #setUseHttp(value) ⇒ Object
- #setUseMetadataFrom(index) ⇒ Object
- #setUserAgent(agent) ⇒ Object
- #setUserPassword(password) ⇒ Object
Constructor Details
#initialize(user_name, api_key) ⇒ PdfToPdfClient
Returns a new instance of PdfToPdfClient.
3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 |
# File 'lib/pdfcrowd.rb', line 3183 def initialize(user_name, api_key) @helper = ConnectionHelper.new(user_name, api_key) @fields = { 'input_format'=>'pdf', 'output_format'=>'pdf' } @file_id = 1 @files = {} @raw_data = {} end |
Instance Method Details
#addPdfFile(file_path) ⇒ Object
3226 3227 3228 3229 3230 3231 3232 3233 3234 |
# File 'lib/pdfcrowd.rb', line 3226 def addPdfFile(file_path) if (!(File.file?(file_path) && !File.zero?(file_path))) raise Error.new(Pdfcrowd.(file_path, "addPdfFile", "pdf-to-pdf", "The file must exist and not be empty.", "add_pdf_file"), 470); end @files['f_%s' % @file_id] = file_path @file_id += 1 self end |
#addPdfRawData(data) ⇒ Object
3237 3238 3239 3240 3241 3242 3243 3244 3245 |
# File 'lib/pdfcrowd.rb', line 3237 def addPdfRawData(data) if (!(!data.nil? && data.length > 300 and data[0...4] == '%PDF')) raise Error.new(Pdfcrowd.("raw PDF data", "addPdfRawData", "pdf-to-pdf", "The input data must be PDF content.", "add_pdf_raw_data"), 470); end @raw_data['f_%s' % @file_id] = data @file_id += 1 self end |
#convert ⇒ Object
3205 3206 3207 |
# File 'lib/pdfcrowd.rb', line 3205 def convert() @helper.post(@fields, @files, @raw_data) end |
#convertToFile(file_path) ⇒ Object
3215 3216 3217 3218 3219 3220 3221 3222 3223 |
# File 'lib/pdfcrowd.rb', line 3215 def convertToFile(file_path) if (!(!file_path.nil? && !file_path.empty?)) raise Error.new(Pdfcrowd.(file_path, "convertToFile", "pdf-to-pdf", "The string must not be empty.", "convert_to_file"), 470); end output_file = open(file_path, "wb") convertToStream(output_file) output_file.close() end |
#convertToStream(out_stream) ⇒ Object
3210 3211 3212 |
# File 'lib/pdfcrowd.rb', line 3210 def convertToStream(out_stream) @helper.post(@fields, @files, @raw_data, out_stream) end |
#getConsumedCreditCount ⇒ Object
3528 3529 3530 |
# File 'lib/pdfcrowd.rb', line 3528 def getConsumedCreditCount() return @helper.getConsumedCreditCount() end |
#getDebugLogUrl ⇒ Object
3518 3519 3520 |
# File 'lib/pdfcrowd.rb', line 3518 def getDebugLogUrl() return @helper.getDebugLogUrl() end |
#getJobId ⇒ Object
3533 3534 3535 |
# File 'lib/pdfcrowd.rb', line 3533 def getJobId() return @helper.getJobId() end |
#getOutputSize ⇒ Object
3543 3544 3545 |
# File 'lib/pdfcrowd.rb', line 3543 def getOutputSize() return @helper.getOutputSize() end |
#getPageCount ⇒ Object
3538 3539 3540 |
# File 'lib/pdfcrowd.rb', line 3538 def getPageCount() return @helper.getPageCount() end |
#getRemainingCreditCount ⇒ Object
3523 3524 3525 |
# File 'lib/pdfcrowd.rb', line 3523 def getRemainingCreditCount() return @helper.getRemainingCreditCount() end |
#getVersion ⇒ Object
3548 3549 3550 |
# File 'lib/pdfcrowd.rb', line 3548 def getVersion() return "client " + CLIENT_VERSION + ", API v2, converter " + @helper.getConverterVersion() end |
#setAction(action) ⇒ Object
3195 3196 3197 3198 3199 3200 3201 3202 |
# File 'lib/pdfcrowd.rb', line 3195 def setAction(action) unless /(?i)^(join|shuffle|extract|delete)$/.match(action) raise Error.new(Pdfcrowd.(action, "setAction", "pdf-to-pdf", "Allowed values are join, shuffle, extract, delete.", "set_action"), 470); end @fields['action'] = action self end |
#setAuthor(author) ⇒ Object
3398 3399 3400 3401 |
# File 'lib/pdfcrowd.rb', line 3398 def setAuthor() @fields['author'] = self end |
#setCenterWindow(value) ⇒ Object
3494 3495 3496 3497 |
# File 'lib/pdfcrowd.rb', line 3494 def setCenterWindow(value) @fields['center_window'] = value self end |
#setClientUserAgent(agent) ⇒ Object
3575 3576 3577 3578 |
# File 'lib/pdfcrowd.rb', line 3575 def setClientUserAgent(agent) @helper.setUserAgent(agent) self end |
#setConverterVersion(version) ⇒ Object
3559 3560 3561 3562 3563 3564 3565 3566 |
# File 'lib/pdfcrowd.rb', line 3559 def setConverterVersion(version) unless /(?i)^(24.04|20.10|18.10|latest)$/.match(version) raise Error.new(Pdfcrowd.(version, "setConverterVersion", "pdf-to-pdf", "Allowed values are 24.04, 20.10, 18.10, latest.", "set_converter_version"), 470); end @helper.setConverterVersion(version) self end |
#setDebugLog(value) ⇒ Object
3512 3513 3514 3515 |
# File 'lib/pdfcrowd.rb', line 3512 def setDebugLog(value) @fields['debug_log'] = value self end |
#setDisplayTitle(value) ⇒ Object
3500 3501 3502 3503 |
# File 'lib/pdfcrowd.rb', line 3500 def setDisplayTitle(value) @fields['display_title'] = value self end |
#setEncrypt(value) ⇒ Object
3350 3351 3352 3353 |
# File 'lib/pdfcrowd.rb', line 3350 def setEncrypt(value) @fields['encrypt'] = value self end |
#setFitWindow(value) ⇒ Object
3488 3489 3490 3491 |
# File 'lib/pdfcrowd.rb', line 3488 def setFitWindow(value) @fields['fit_window'] = value self end |
#setHideMenubar(value) ⇒ Object
3476 3477 3478 3479 |
# File 'lib/pdfcrowd.rb', line 3476 def (value) @fields['hide_menubar'] = value self end |
#setHideToolbar(value) ⇒ Object
3470 3471 3472 3473 |
# File 'lib/pdfcrowd.rb', line 3470 def (value) @fields['hide_toolbar'] = value self end |
#setHideWindowUi(value) ⇒ Object
3482 3483 3484 3485 |
# File 'lib/pdfcrowd.rb', line 3482 def setHideWindowUi(value) @fields['hide_window_ui'] = value self end |
#setInitialPage(page) ⇒ Object
3450 3451 3452 3453 3454 3455 3456 3457 |
# File 'lib/pdfcrowd.rb', line 3450 def setInitialPage(page) if (!(Integer(page) > 0)) raise Error.new(Pdfcrowd.(page, "setInitialPage", "pdf-to-pdf", "Must be a positive integer.", "set_initial_page"), 470); end @fields['initial_page'] = page self end |
#setInitialZoom(zoom) ⇒ Object
3460 3461 3462 3463 3464 3465 3466 3467 |
# File 'lib/pdfcrowd.rb', line 3460 def setInitialZoom(zoom) if (!(Integer(zoom) > 0)) raise Error.new(Pdfcrowd.(zoom, "setInitialZoom", "pdf-to-pdf", "Must be a positive integer.", "set_initial_zoom"), 470); end @fields['initial_zoom'] = zoom self end |
#setInitialZoomType(zoom_type) ⇒ Object
3440 3441 3442 3443 3444 3445 3446 3447 |
# File 'lib/pdfcrowd.rb', line 3440 def setInitialZoomType(zoom_type) unless /(?i)^(fit-width|fit-height|fit-page)$/.match(zoom_type) raise Error.new(Pdfcrowd.(zoom_type, "setInitialZoomType", "pdf-to-pdf", "Allowed values are fit-width, fit-height, fit-page.", "set_initial_zoom_type"), 470); end @fields['initial_zoom_type'] = zoom_type self end |
#setInputPdfPassword(password) ⇒ Object
3248 3249 3250 3251 |
# File 'lib/pdfcrowd.rb', line 3248 def setInputPdfPassword(password) @fields['input_pdf_password'] = password self end |
#setKeywords(keywords) ⇒ Object
3404 3405 3406 3407 |
# File 'lib/pdfcrowd.rb', line 3404 def setKeywords(keywords) @fields['keywords'] = keywords self end |
#setLinearize(value) ⇒ Object
3344 3345 3346 3347 |
# File 'lib/pdfcrowd.rb', line 3344 def setLinearize(value) @fields['linearize'] = value self end |
#setMultipageBackground(background) ⇒ Object
3324 3325 3326 3327 3328 3329 3330 3331 |
# File 'lib/pdfcrowd.rb', line 3324 def setMultipageBackground(background) if (!(File.file?(background) && !File.zero?(background))) raise Error.new(Pdfcrowd.(background, "setMultipageBackground", "pdf-to-pdf", "The file must exist and not be empty.", "set_multipage_background"), 470); end @files['multipage_background'] = background self end |
#setMultipageBackgroundUrl(url) ⇒ Object
3334 3335 3336 3337 3338 3339 3340 3341 |
# File 'lib/pdfcrowd.rb', line 3334 def setMultipageBackgroundUrl(url) unless /(?i)^https?:\/\/.*$/.match(url) raise Error.new(Pdfcrowd.(url, "setMultipageBackgroundUrl", "pdf-to-pdf", "Supported protocols are http:// and https://.", "set_multipage_background_url"), 470); end @fields['multipage_background_url'] = url self end |
#setMultipageWatermark(watermark) ⇒ Object
3284 3285 3286 3287 3288 3289 3290 3291 |
# File 'lib/pdfcrowd.rb', line 3284 def setMultipageWatermark(watermark) if (!(File.file?(watermark) && !File.zero?(watermark))) raise Error.new(Pdfcrowd.(watermark, "setMultipageWatermark", "pdf-to-pdf", "The file must exist and not be empty.", "set_multipage_watermark"), 470); end @files['multipage_watermark'] = watermark self end |
#setMultipageWatermarkUrl(url) ⇒ Object
3294 3295 3296 3297 3298 3299 3300 3301 |
# File 'lib/pdfcrowd.rb', line 3294 def setMultipageWatermarkUrl(url) unless /(?i)^https?:\/\/.*$/.match(url) raise Error.new(Pdfcrowd.(url, "setMultipageWatermarkUrl", "pdf-to-pdf", "Supported protocols are http:// and https://.", "set_multipage_watermark_url"), 470); end @fields['multipage_watermark_url'] = url self end |
#setNoCopy(value) ⇒ Object
3380 3381 3382 3383 |
# File 'lib/pdfcrowd.rb', line 3380 def setNoCopy(value) @fields['no_copy'] = value self end |
#setNoModify(value) ⇒ Object
3374 3375 3376 3377 |
# File 'lib/pdfcrowd.rb', line 3374 def setNoModify(value) @fields['no_modify'] = value self end |
#setNoPrint(value) ⇒ Object
3368 3369 3370 3371 |
# File 'lib/pdfcrowd.rb', line 3368 def setNoPrint(value) @fields['no_print'] = value self end |
#setOwnerPassword(password) ⇒ Object
3362 3363 3364 3365 |
# File 'lib/pdfcrowd.rb', line 3362 def setOwnerPassword(password) @fields['owner_password'] = password self end |
#setPageBackground(background) ⇒ Object
3304 3305 3306 3307 3308 3309 3310 3311 |
# File 'lib/pdfcrowd.rb', line 3304 def setPageBackground(background) if (!(File.file?(background) && !File.zero?(background))) raise Error.new(Pdfcrowd.(background, "setPageBackground", "pdf-to-pdf", "The file must exist and not be empty.", "set_page_background"), 470); end @files['page_background'] = background self end |
#setPageBackgroundUrl(url) ⇒ Object
3314 3315 3316 3317 3318 3319 3320 3321 |
# File 'lib/pdfcrowd.rb', line 3314 def setPageBackgroundUrl(url) unless /(?i)^https?:\/\/.*$/.match(url) raise Error.new(Pdfcrowd.(url, "setPageBackgroundUrl", "pdf-to-pdf", "Supported protocols are http:// and https://.", "set_page_background_url"), 470); end @fields['page_background_url'] = url self end |
#setPageLayout(layout) ⇒ Object
3420 3421 3422 3423 3424 3425 3426 3427 |
# File 'lib/pdfcrowd.rb', line 3420 def setPageLayout(layout) unless /(?i)^(single-page|one-column|two-column-left|two-column-right)$/.match(layout) raise Error.new(Pdfcrowd.(layout, "setPageLayout", "pdf-to-pdf", "Allowed values are single-page, one-column, two-column-left, two-column-right.", "set_page_layout"), 470); end @fields['page_layout'] = layout self end |
#setPageMode(mode) ⇒ Object
3430 3431 3432 3433 3434 3435 3436 3437 |
# File 'lib/pdfcrowd.rb', line 3430 def setPageMode(mode) unless /(?i)^(full-screen|thumbnails|outlines)$/.match(mode) raise Error.new(Pdfcrowd.(mode, "setPageMode", "pdf-to-pdf", "Allowed values are full-screen, thumbnails, outlines.", "set_page_mode"), 470); end @fields['page_mode'] = mode self end |
#setPageRange(pages) ⇒ Object
3254 3255 3256 3257 3258 3259 3260 3261 |
# File 'lib/pdfcrowd.rb', line 3254 def setPageRange(pages) unless /^(?:\s*(?:\d+|(?:\d*\s*\-\s*\d+)|(?:\d+\s*\-\s*\d*))\s*,\s*)*\s*(?:\d+|(?:\d*\s*\-\s*\d+)|(?:\d+\s*\-\s*\d*))\s*$/.match(pages) raise Error.new(Pdfcrowd.(pages, "setPageRange", "pdf-to-pdf", "A comma separated list of page numbers or ranges.", "set_page_range"), 470); end @fields['page_range'] = pages self end |
#setPageWatermark(watermark) ⇒ Object
3264 3265 3266 3267 3268 3269 3270 3271 |
# File 'lib/pdfcrowd.rb', line 3264 def setPageWatermark(watermark) if (!(File.file?(watermark) && !File.zero?(watermark))) raise Error.new(Pdfcrowd.(watermark, "setPageWatermark", "pdf-to-pdf", "The file must exist and not be empty.", "set_page_watermark"), 470); end @files['page_watermark'] = watermark self end |
#setPageWatermarkUrl(url) ⇒ Object
3274 3275 3276 3277 3278 3279 3280 3281 |
# File 'lib/pdfcrowd.rb', line 3274 def setPageWatermarkUrl(url) unless /(?i)^https?:\/\/.*$/.match(url) raise Error.new(Pdfcrowd.(url, "setPageWatermarkUrl", "pdf-to-pdf", "Supported protocols are http:// and https://.", "set_page_watermark_url"), 470); end @fields['page_watermark_url'] = url self end |
#setProxy(host, port, user_name, password) ⇒ Object
3587 3588 3589 3590 |
# File 'lib/pdfcrowd.rb', line 3587 def setProxy(host, port, user_name, password) @helper.setProxy(host, port, user_name, password) self end |
#setRetryCount(count) ⇒ Object
3593 3594 3595 3596 |
# File 'lib/pdfcrowd.rb', line 3593 def setRetryCount(count) @helper.setRetryCount(count) self end |
#setRightToLeft(value) ⇒ Object
3506 3507 3508 3509 |
# File 'lib/pdfcrowd.rb', line 3506 def setRightToLeft(value) @fields['right_to_left'] = value self end |
#setSubject(subject) ⇒ Object
3392 3393 3394 3395 |
# File 'lib/pdfcrowd.rb', line 3392 def setSubject(subject) @fields['subject'] = subject self end |
#setTag(tag) ⇒ Object
3553 3554 3555 3556 |
# File 'lib/pdfcrowd.rb', line 3553 def setTag(tag) @fields['tag'] = tag self end |
#setTitle(title) ⇒ Object
3386 3387 3388 3389 |
# File 'lib/pdfcrowd.rb', line 3386 def setTitle(title) @fields['title'] = title self end |
#setUseHttp(value) ⇒ Object
3569 3570 3571 3572 |
# File 'lib/pdfcrowd.rb', line 3569 def setUseHttp(value) @helper.setUseHttp(value) self end |
#setUseMetadataFrom(index) ⇒ Object
3410 3411 3412 3413 3414 3415 3416 3417 |
# File 'lib/pdfcrowd.rb', line 3410 def setUseMetadataFrom(index) if (!(Integer(index) >= 0)) raise Error.new(Pdfcrowd.(index, "setUseMetadataFrom", "pdf-to-pdf", "Must be a positive integer or 0.", "set_use_metadata_from"), 470); end @fields['use_metadata_from'] = index self end |
#setUserAgent(agent) ⇒ Object
3581 3582 3583 3584 |
# File 'lib/pdfcrowd.rb', line 3581 def setUserAgent(agent) @helper.setUserAgent(agent) self end |
#setUserPassword(password) ⇒ Object
3356 3357 3358 3359 |
# File 'lib/pdfcrowd.rb', line 3356 def setUserPassword(password) @fields['user_password'] = password self end |