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.
3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 |
# File 'lib/pdfcrowd.rb', line 3163 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
3206 3207 3208 3209 3210 3211 3212 3213 3214 |
# File 'lib/pdfcrowd.rb', line 3206 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
3217 3218 3219 3220 3221 3222 3223 3224 3225 |
# File 'lib/pdfcrowd.rb', line 3217 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
3185 3186 3187 |
# File 'lib/pdfcrowd.rb', line 3185 def convert() @helper.post(@fields, @files, @raw_data) end |
#convertToFile(file_path) ⇒ Object
3195 3196 3197 3198 3199 3200 3201 3202 3203 |
# File 'lib/pdfcrowd.rb', line 3195 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
3190 3191 3192 |
# File 'lib/pdfcrowd.rb', line 3190 def convertToStream(out_stream) @helper.post(@fields, @files, @raw_data, out_stream) end |
#getConsumedCreditCount ⇒ Object
3508 3509 3510 |
# File 'lib/pdfcrowd.rb', line 3508 def getConsumedCreditCount() return @helper.getConsumedCreditCount() end |
#getDebugLogUrl ⇒ Object
3498 3499 3500 |
# File 'lib/pdfcrowd.rb', line 3498 def getDebugLogUrl() return @helper.getDebugLogUrl() end |
#getJobId ⇒ Object
3513 3514 3515 |
# File 'lib/pdfcrowd.rb', line 3513 def getJobId() return @helper.getJobId() end |
#getOutputSize ⇒ Object
3523 3524 3525 |
# File 'lib/pdfcrowd.rb', line 3523 def getOutputSize() return @helper.getOutputSize() end |
#getPageCount ⇒ Object
3518 3519 3520 |
# File 'lib/pdfcrowd.rb', line 3518 def getPageCount() return @helper.getPageCount() end |
#getRemainingCreditCount ⇒ Object
3503 3504 3505 |
# File 'lib/pdfcrowd.rb', line 3503 def getRemainingCreditCount() return @helper.getRemainingCreditCount() end |
#getVersion ⇒ Object
3528 3529 3530 |
# File 'lib/pdfcrowd.rb', line 3528 def getVersion() return "client " + CLIENT_VERSION + ", API v2, converter " + @helper.getConverterVersion() end |
#setAction(action) ⇒ Object
3175 3176 3177 3178 3179 3180 3181 3182 |
# File 'lib/pdfcrowd.rb', line 3175 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
3378 3379 3380 3381 |
# File 'lib/pdfcrowd.rb', line 3378 def setAuthor() @fields['author'] = self end |
#setCenterWindow(value) ⇒ Object
3474 3475 3476 3477 |
# File 'lib/pdfcrowd.rb', line 3474 def setCenterWindow(value) @fields['center_window'] = value self end |
#setClientUserAgent(agent) ⇒ Object
3555 3556 3557 3558 |
# File 'lib/pdfcrowd.rb', line 3555 def setClientUserAgent(agent) @helper.setUserAgent(agent) self end |
#setConverterVersion(version) ⇒ Object
3539 3540 3541 3542 3543 3544 3545 3546 |
# File 'lib/pdfcrowd.rb', line 3539 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
3492 3493 3494 3495 |
# File 'lib/pdfcrowd.rb', line 3492 def setDebugLog(value) @fields['debug_log'] = value self end |
#setDisplayTitle(value) ⇒ Object
3480 3481 3482 3483 |
# File 'lib/pdfcrowd.rb', line 3480 def setDisplayTitle(value) @fields['display_title'] = value self end |
#setEncrypt(value) ⇒ Object
3330 3331 3332 3333 |
# File 'lib/pdfcrowd.rb', line 3330 def setEncrypt(value) @fields['encrypt'] = value self end |
#setFitWindow(value) ⇒ Object
3468 3469 3470 3471 |
# File 'lib/pdfcrowd.rb', line 3468 def setFitWindow(value) @fields['fit_window'] = value self end |
#setHideMenubar(value) ⇒ Object
3456 3457 3458 3459 |
# File 'lib/pdfcrowd.rb', line 3456 def (value) @fields['hide_menubar'] = value self end |
#setHideToolbar(value) ⇒ Object
3450 3451 3452 3453 |
# File 'lib/pdfcrowd.rb', line 3450 def (value) @fields['hide_toolbar'] = value self end |
#setHideWindowUi(value) ⇒ Object
3462 3463 3464 3465 |
# File 'lib/pdfcrowd.rb', line 3462 def setHideWindowUi(value) @fields['hide_window_ui'] = value self end |
#setInitialPage(page) ⇒ Object
3430 3431 3432 3433 3434 3435 3436 3437 |
# File 'lib/pdfcrowd.rb', line 3430 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
3440 3441 3442 3443 3444 3445 3446 3447 |
# File 'lib/pdfcrowd.rb', line 3440 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
3420 3421 3422 3423 3424 3425 3426 3427 |
# File 'lib/pdfcrowd.rb', line 3420 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
3228 3229 3230 3231 |
# File 'lib/pdfcrowd.rb', line 3228 def setInputPdfPassword(password) @fields['input_pdf_password'] = password self end |
#setKeywords(keywords) ⇒ Object
3384 3385 3386 3387 |
# File 'lib/pdfcrowd.rb', line 3384 def setKeywords(keywords) @fields['keywords'] = keywords self end |
#setLinearize(value) ⇒ Object
3324 3325 3326 3327 |
# File 'lib/pdfcrowd.rb', line 3324 def setLinearize(value) @fields['linearize'] = value self end |
#setMultipageBackground(background) ⇒ Object
3304 3305 3306 3307 3308 3309 3310 3311 |
# File 'lib/pdfcrowd.rb', line 3304 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
3314 3315 3316 3317 3318 3319 3320 3321 |
# File 'lib/pdfcrowd.rb', line 3314 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
3264 3265 3266 3267 3268 3269 3270 3271 |
# File 'lib/pdfcrowd.rb', line 3264 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
3274 3275 3276 3277 3278 3279 3280 3281 |
# File 'lib/pdfcrowd.rb', line 3274 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
3360 3361 3362 3363 |
# File 'lib/pdfcrowd.rb', line 3360 def setNoCopy(value) @fields['no_copy'] = value self end |
#setNoModify(value) ⇒ Object
3354 3355 3356 3357 |
# File 'lib/pdfcrowd.rb', line 3354 def setNoModify(value) @fields['no_modify'] = value self end |
#setNoPrint(value) ⇒ Object
3348 3349 3350 3351 |
# File 'lib/pdfcrowd.rb', line 3348 def setNoPrint(value) @fields['no_print'] = value self end |
#setOwnerPassword(password) ⇒ Object
3342 3343 3344 3345 |
# File 'lib/pdfcrowd.rb', line 3342 def setOwnerPassword(password) @fields['owner_password'] = password self end |
#setPageBackground(background) ⇒ Object
3284 3285 3286 3287 3288 3289 3290 3291 |
# File 'lib/pdfcrowd.rb', line 3284 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
3294 3295 3296 3297 3298 3299 3300 3301 |
# File 'lib/pdfcrowd.rb', line 3294 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
3400 3401 3402 3403 3404 3405 3406 3407 |
# File 'lib/pdfcrowd.rb', line 3400 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
3410 3411 3412 3413 3414 3415 3416 3417 |
# File 'lib/pdfcrowd.rb', line 3410 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
3234 3235 3236 3237 3238 3239 3240 3241 |
# File 'lib/pdfcrowd.rb', line 3234 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
3244 3245 3246 3247 3248 3249 3250 3251 |
# File 'lib/pdfcrowd.rb', line 3244 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
3254 3255 3256 3257 3258 3259 3260 3261 |
# File 'lib/pdfcrowd.rb', line 3254 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
3567 3568 3569 3570 |
# File 'lib/pdfcrowd.rb', line 3567 def setProxy(host, port, user_name, password) @helper.setProxy(host, port, user_name, password) self end |
#setRetryCount(count) ⇒ Object
3573 3574 3575 3576 |
# File 'lib/pdfcrowd.rb', line 3573 def setRetryCount(count) @helper.setRetryCount(count) self end |
#setRightToLeft(value) ⇒ Object
3486 3487 3488 3489 |
# File 'lib/pdfcrowd.rb', line 3486 def setRightToLeft(value) @fields['right_to_left'] = value self end |
#setSubject(subject) ⇒ Object
3372 3373 3374 3375 |
# File 'lib/pdfcrowd.rb', line 3372 def setSubject(subject) @fields['subject'] = subject self end |
#setTag(tag) ⇒ Object
3533 3534 3535 3536 |
# File 'lib/pdfcrowd.rb', line 3533 def setTag(tag) @fields['tag'] = tag self end |
#setTitle(title) ⇒ Object
3366 3367 3368 3369 |
# File 'lib/pdfcrowd.rb', line 3366 def setTitle(title) @fields['title'] = title self end |
#setUseHttp(value) ⇒ Object
3549 3550 3551 3552 |
# File 'lib/pdfcrowd.rb', line 3549 def setUseHttp(value) @helper.setUseHttp(value) self end |
#setUseMetadataFrom(index) ⇒ Object
3390 3391 3392 3393 3394 3395 3396 3397 |
# File 'lib/pdfcrowd.rb', line 3390 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
3561 3562 3563 3564 |
# File 'lib/pdfcrowd.rb', line 3561 def setUserAgent(agent) @helper.setUserAgent(agent) self end |
#setUserPassword(password) ⇒ Object
3336 3337 3338 3339 |
# File 'lib/pdfcrowd.rb', line 3336 def setUserPassword(password) @fields['user_password'] = password self end |