git clone https://github.com/pdfcrowd/pdfcrowd-python
cd pdfcrowd-python
pip install .
Quick Start
Below are
Python
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().
importpdfcrowdimportsystry:# Create an API client instance.client=pdfcrowd.PdfToImageClient('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')exceptpdfcrowd.Erroraswhy:sys.stderr.write('PDFCrowd Error: {}\n'.format(why))raise
importpdfcrowdimportsystry:# Create an API client instance.client=pdfcrowd.PdfToImageClient('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')exceptpdfcrowd.Erroraswhy:sys.stderr.write('PDFCrowd Error: {}\n'.format(why))raise
importpdfcrowdimportsystry:# Create an API client instance.client=pdfcrowd.PdfToImageClient('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')exceptpdfcrowd.Erroraswhy:sys.stderr.write('PDFCrowd Error: {}\n'.format(why))raise
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.
try:# Call the API exceptpdfcrowd.Erroraswhy:# Log the complete errorsys.stderr.write('PDFCrowd Error: {}\n'.format(why))# Log the HTTP status codesys.stderr.write('Status Code: {}\n'.format(why.getStatusCode()))# Log the reason codesys.stderr.write('Reason Code: {}\n'.format(why.getReasonCode()))# Log the error messagesys.stderr.write('Error Message: {}\n'.format(why.getMessage()))# Log the documentation linksys.stderr.write('Documentation Link: {}\n'.format(why.getDocumentationLink()))
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.