Extract the archive and run the following commands:
gem install pdfcrowd-6.5.2.gem
Clone pdfcrowd-ruby from Github and install the library:
git clone https://github.com/pdfcrowd/pdfcrowd-ruby
cd pdfcrowd-ruby
make dist
gem install pdfcrowd-6.5.2.gem
Quick Start
Below are
Ruby
examples to help you quickly get started with the API.
Explore our additional examples for more insights.
For a multi-page PDF, the API returns a ZIP archive containing an image for
each page. For a single-page PDF, the output is directly an image (e.g., PNG).
To determine the output format, use isZippedOutput().
You can enforce the use of a ZIP archive by using setForceZip().
require"pdfcrowd"begin# Create an API client instance.client=Pdfcrowd::PdfToImageClient.new("USERNAME","APIKEY")# If unsure whether the input is a single-page file, enforce ZIP output.client.setOutputFormat("png")client.setForceZip(true)# Run the conversion and save the result to a file.client.convertFileToFile("/path/to/invoice.pdf","invoice.zip")rescuePdfcrowd::Error=>whySTDERR.puts"PDFCrowd Error: #{why}"raiseend
require"pdfcrowd"begin# Create an API client instance.client=Pdfcrowd::PdfToImageClient.new("USERNAME","APIKEY")# If unsure whether the input is a single-page file, enforce ZIP output.client.setOutputFormat("png")client.setForceZip(true)# Run the conversion and save the result to a file.client.convertUrlToFile("https://pdfcrowd.com/static/pdf/apisamples/invoice.pdf","invoice.zip")rescuePdfcrowd::Error=>whySTDERR.puts"PDFCrowd Error: #{why}"raiseend
require"pdfcrowd"begin# Create an API client instance.client=Pdfcrowd::PdfToImageClient.new("USERNAME","APIKEY")# If unsure whether the input is a single-page file, enforce ZIP output.client.setOutputFormat("png")client.setForceZip(true)# Run the conversion and save the result to a file.client.convertRawDataToFile(open('/path/to/hello_world.pdf','rb').read(),"invoice.zip")rescuePdfcrowd::Error=>whySTDERR.puts"PDFCrowd Error: #{why}"raiseend
Authentication
The API requires authentication using your PDFCrowd username and API key.
To get started quickly, you can use these demo credentials for testing without
registering:
It is recommended that you implement error handling to catch errors the API
may return. Effective error handling is vital as it ensures application
stability and provides clearer diagnostics. See the example code below for
guidance on implementing error handling, and refer to this list of
status codes for more information.
begin# Call the API rescuePdfcrowd::Error=>why# Log the complete errorSTDERR.puts"PDFCrowd Error: #{why}"# Log the HTTP status codeSTDERR.puts"Status Code: #{why.getStatusCode()}"# Log the reason codeSTDERR.puts"Reason Code: #{why.getReasonCode()}"# Log the error messageSTDERR.puts"Error Message: #{why.getMessage()}"# Log the documentation linkSTDERR.puts"Documentation Link: #{why.getDocumentationLink()}"end
Troubleshooting
If you are receiving an error, refer to the
API Status Codes for more information.
Use
setDebugLog() and getDebugLogUrl()
to obtain detailed information about the conversion process, including
load errors, load times, browser console output, etc.