How to split PDF from uploaded file for PDF splitting API in Python with PDF.co Web API

How to split PDF from uploaded file in Python with easy ByteScout code samples to make PDF splitting API. Step-by-step tutorial

Writing of the code to split PDF from uploaded file in Python can be done by developers of any level using PDF.co Web API. PDF.co Web API was designed to assist PDF splitting API in Python. PDF.co Web API is the Web API with a set of tools for documents manipulation, data conversion, data extraction, splitting and merging of documents. Includes image recognition, built-in OCR, barcode generation and barcode decoders to decode bar codes from scans, pictures and pdf.

The SDK samples displayed below below explain how to quickly make your application do PDF splitting API in Python with the help of PDF.co Web API. Open your Python project and simply copy & paste the code and then run your app! Enjoy writing a code with ready-to-use sample Python codes to add PDF splitting API functions using PDF.co Web API in Python.

Trial version of ByteScout is available for free download from our website. This and other source code samples for Python and other programming languages are available.

On-demand (REST Web API) version:
 Web API (on-demand version)

On-premise offline SDK for Windows:
 60 Day Free Trial (on-premise)

SplitPDFFromUploadedFile.py

      
import os import requests # pip install requests # The authentication key (API Key). # Get your own by registering at https://app.pdf.co/documentation/api API_KEY = "*********************************" # Base URL for PDF.co Web API requests BASE_URL = "https://api.pdf.co/v1" # Source PDF file SourceFile = ".\\sample.pdf" # Comma-separated list of page numbers (or ranges) to process. Example: '1,3-5,7-'. Pages = "1-2,3-" def main(args = None): uploadedFileUrl = uploadFile(SourceFile) if (uploadedFileUrl != None): splitPDF(uploadedFileUrl) def splitPDF(uploadedFileUrl): """Split PDF using PDF.co Web API""" # Prepare URL for 'Split PDF' API request url = "{}/pdf/split?pages={}&url={}".format( BASE_URL, Pages, uploadedFileUrl ) # Execute request and get response as JSON response = requests.get(url, headers={ "x-api-key": API_KEY, "content-type": "application/octet-stream" }) if (response.status_code == 200): json = response.json() if json["error"] == False: # Download generated PNG files part = 1 for resultFileUrl in json["urls"]: # Download Result File r = requests.get(resultFileUrl, stream=True) localFileUrl = f"Page{part}.pdf" if r.status_code == 200: with open(localFileUrl, 'wb') as file: for chunk in r: file.write(chunk) print(f"Result file saved as \"{localFileUrl}\" file.") else: print(f"Request error: {response.status_code} {response.reason}") part = part + 1 else: # Show service reported error print(json["message"]) else: print(f"Request error: {response.status_code} {response.reason}") def uploadFile(fileName): """Uploads file to the cloud""" # 1. RETRIEVE PRESIGNED URL TO UPLOAD FILE. # Prepare URL for 'Get Presigned URL' API request url = "{}/file/upload/get-presigned-url?contenttype=application/octet-stream&name={}".format( BASE_URL, os.path.basename(fileName)) # Execute request and get response as JSON response = requests.get(url, headers={ "x-api-key": API_KEY }) if (response.status_code == 200): json = response.json() if json["error"] == False: # URL to use for file upload uploadUrl = json["presignedUrl"] # URL for future reference uploadedFileUrl = json["url"] # 2. UPLOAD FILE TO CLOUD. with open(fileName, 'rb') as file: requests.put(uploadUrl, data=file, headers={ "x-api-key": API_KEY, "content-type": "application/octet-stream" }) return uploadedFileUrl else: # Show service reported error print(json["message"]) else: print(f"Request error: {response.status_code} {response.reason}") return None if __name__ == '__main__': main()

VIDEO

ON-PREMISE OFFLINE SDK

Get 60 Day Free Trial

See also:

ON-DEMAND REST WEB API

Get Your API Key

See also:

Related Samples: