Convert PDF to Image using Ruby
Table of contents
- Introduction
- Prerequisites
- Code Example
- Return result to a callback url
- Configuration Options
- Upload by URL
- Using Authentication
- Further details
Introduction
The following tutorial shows you how to convert PDFs to images using a hosted JPedal cloud API. You can set up your own self-hosted JPedal microservice
Whilst the above service can be accessed with plain old HTTP requests, this tutorial uses our open source Ruby IDRCloudClient which provides a simple Ruby wrapper around the REST API.
Prerequisites
There are two approaches to using the IDRCloudClient in your project.
Using gem, install the idr_cloud_client gem with the following command:
gem install idr_cloud_client
Alternatively, you can add the line “gem ‘idr_cloud_client’” to your applications gemfile then run the following command.
bundle install
Code Example
Here is a basic code example to convert PDFs to images. Configuration options and advanced features can be found below.
require 'idr_cloud_client'
client = IDRCloudClient.new('https://my-self-hosted-service.com/' + IDRCloudClient::JPEDAL)
result = client.convert(
input: IDRCloudClient::UPLOAD,
file: 'path/to/exampleFile.pdf',
settings: '{"mode":"convertToImages","format":"png"}')
client.download_result(result, 'path/to/output/dir')
puts 'Download URL: ' + result['downloadUrl']
Return result to a callback url
The JPedal Microservice accepts a callback url to send the status of a conversion on completion. Using a callback url removes the need to poll the service to determine when the conversion is complete.
The callback url can be provided to the convert method as shown below.
result = client.convert(
input: IDRCloudClient::UPLOAD,
callbackUrl: 'http://listener.url',
file: 'path/to/exampleFile.pdf',
settings: '{"mode":"convertToImages","format":"png"}')
Configuration Options
The JPedal API accepts a stringified JSON object containing key value pair configuration options to customise your conversion. The settings should be provided to the convert method. A full list of the configuration options to convert PDFs to images can be found here.
settings:'{"key":"value","key":"value"}'
Upload by URL
As well as uploading a local file you can also provide a URL which the JPedal Microservice will download and then perform the conversion. To do this you should replace the input and file values in the convert method with the following.
input:IDRCloudClient.DOWNLOAD
url:'http://exampleURL/exampleFile.pdf'
Using Authentication
If you have deployed your own JPedal Microservice that requires a username and password to convert PDFs to images, you will need to provide them with each conversion. These are provided by passing a variable named auth to the convert method as shown below.
auth:('username', 'password'))
Further details
IDRCloudClient on GitHub
IDRCloudClient on RUBY
JPedal Microservice API
JPedal Microservice Use