Welcome to PDF.to API documentation
To get a developer key please go todeveloper portal
Authorization: <api_key>
Convert from PDF
PDF to DOCX
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-docx',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.docx
To make multiple simply put more files in your list
PDF to DOC
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-doc',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
# Compress PDF
## Compress PDF
```python
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-compress',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
get_results(convert_files(api_url, params, headers)) ```
Will return
/path/to/local/file_processed.doc
To make multiple simply put more files in your list
PDF to JPG
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-jpg',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.jpg
To make multiple simply put more files in your list
PDF to PNG
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-png',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.png
To make multiple simply put more files in your list
PDF to XLSX
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-xlsx',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.xlsx
To make multiple simply put more files in your list
PDF to XLS
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-xls',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.xls
To make multiple simply put more files in your list
PDF to PPTX
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-pptx',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pptx
To make multiple simply put more files in your list
PDF to PPT
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-ppt',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.ppt
To make multiple simply put more files in your list
PDF to TXT
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-txt',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.txt
To make multiple simply put more files in your list
PDF to HTML
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-html',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.html
To make multiple simply put more files in your list
PDF to ODT
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-odt',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.odt
To make multiple simply put more files in your list
PDF to CSV
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-csv',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.csv
To make multiple simply put more files in your list
PDF to ePub
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-epub',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.epub
To make multiple simply put more files in your list
PDF to TIFF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-tiff',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.tiff
To make multiple simply put more files in your list
PDF to BMP
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-bmp',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.bmp
To make multiple simply put more files in your list
PDF to SVG
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-svg',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.svg
To make multiple simply put more files in your list
PDF to ZIP
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-zip',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.zip
To make multiple simply put more files in your list
PDF to WebP
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-webp',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.webp
To make multiple simply put more files in your list
PDF to GIF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-gif',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.gif
To make multiple simply put more files in your list
PDF to PSD
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-psd',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.psd
To make multiple simply put more files in your list
Convert to PDF
DOCX to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.docx', 'testfiles/blah.docx', 'testfiles/blah.docx']
params = {
'lang': 'en',
'convert_to': 'docx-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
DOC to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'doc-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'xlsx-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
JPG to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'jpg-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
PNG to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'png-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
PPTX to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pptx-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
PPT to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'ppt-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
TXT to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.txt', 'testfiles/blah.txt', 'testfiles/blah.txt']
params = {
'lang': 'en',
'convert_to': 'txt-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
HTML to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.html', 'testfiles/blah.html', 'testfiles/blah.html']
params = {
'lang': 'en',
'convert_to': 'html-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
ODT to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.odt', 'testfiles/blah.odt', 'testfiles/blah.odt']
params = {
'lang': 'en',
'convert_to': 'odt-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
CSV to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.csv', 'testfiles/blah.csv', 'testfiles/blah.csv']
params = {
'lang': 'en',
'convert_to': 'csv-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
ePub to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'epub-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
BMP to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.bmp', 'testfiles/blah.bmp', 'testfiles/blah.bmp']
params = {
'lang': 'en',
'convert_to': 'bmp-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
SVG to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.svg', 'testfiles/blah.svg', 'testfiles/blah.svg']
params = {
'lang': 'en',
'convert_to': 'svg-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
TIFF to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.tiff', 'testfiles/blah.tiff', 'testfiles/blah.tiff']
params = {
'lang': 'en',
'convert_to': 'tiff-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
WebP to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'webp-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
GIF to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.gif', 'testfiles/blah.gif', 'testfiles/blah.gif']
params = {
'lang': 'en',
'convert_to': 'gif-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
PSD to PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.psd', 'testfiles/blah.psd', 'testfiles/blah.psd']
params = {
'lang': 'en',
'convert_to': 'psd-pdf',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list
Compress PDF
Compress PDF
import requests
import time
import shutil
import json
headers = {'Authorization': 'yourapikeyfoundinadmin'}
file_list = ['testfiles/blah.pdf', 'testfiles/blah.pdf', 'testfiles/blah.pdf']
params = {
'lang': 'en',
'convert_to': 'pdf-compress',
'ocr': False
}
api_url = 'https://api.pdf.to/v1/convert/'
results_url = 'https://api.pdf.to/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.pdf.to/%s" % url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Will return
/path/to/local/file_processed.pdf
To make multiple simply put more files in your list