How to split PDF from uploaded file for PDF splitting API in PowerShell using PDF.co Web API
Step By Step Tutorial: how to split PDF from uploaded file for PDF splitting API in PowerShell
Today you are going to learn how to split PDF from uploaded file in PowerShell. PDF.co Web API was made to help with PDF splitting API in PowerShell. PDF.co Web API is the flexible Web API that includes full set of functions from e-signature requests to data extraction, OCR, images recognition, pdf splitting and pdf splitting. Can also generate barcodes and read barcodes from images, scans and pdf.
This rich sample source code in PowerShell for PDF.co Web API includes the number of functions and options you should do calling the API to implement PDF splitting API. Follow the instruction and copy – paste code for PowerShell into your project’s code editor. This basic programming language sample code for PowerShell will do the whole work for you in implementing PDF splitting API in your app.
Trial version of ByteScout is available for free download from our website. This and other source code samples for PowerShell 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.ps1
# The authentication key (API Key). # Get your own by registering at https://app.pdf.co/documentation/api $API_KEY = "***********************************" # Source PDF file to split $SourceFile = ".\sample.pdf" # Comma-separated list of page numbers (or ranges) to process. Example: '1,3-5,7-'. $Pages = "1-2,3-" # 1. RETRIEVE THE PRESIGNED URL TO UPLOAD THE FILE. # * If you already have a direct file URL, skip to the step 3. # Prepare URL for `Get Presigned URL` API call $query = "https://api.pdf.co/v1/file/upload/get-presigned-url?contenttype=application/octet-stream&name=" + ` [System.IO.Path]::GetFileName($SourceFile) $query = [System.Uri]::EscapeUriString($query) try { # Execute request $jsonResponse = Invoke-RestMethod -Method Get -Headers @{ "x-api-key" = $API_KEY } -Uri $query if ($jsonResponse.error -eq $false) { # Get URL to use for the file upload $uploadUrl = $jsonResponse.presignedUrl # Get URL of uploaded file to use with later API calls $uploadedFileUrl = $jsonResponse.url # 2. UPLOAD THE FILE TO CLOUD. $r = Invoke-WebRequest -Method Put -Headers @{ "x-api-key" = $API_KEY; "content-type" = "application/octet-stream" } -InFile $SourceFile -Uri $uploadUrl if ($r.StatusCode -eq 200) { # 3. SPLIT UPLOADED PDF # Prepare URL for `Split PDF` API call $query = "https://api.pdf.co/v1/pdf/split" # Prepare request body (will be auto-converted to JSON by Invoke-RestMethod) # See documentation: https://apidocs.pdf.co $body = @{ "pages" = $Pages "url" = $uploadedFileUrl } | ConvertTo-Json # Execute request $response = Invoke-WebRequest -Method Post -Headers @{ "x-api-key" = $API_KEY; "Content-Type" = "application/json" } -Body $body -Uri $query $jsonResponse = $response.Content | ConvertFrom-Json if ($jsonResponse.error -eq $false) { # Download generated PDF files $part = 1; foreach ($url in $jsonResponse.urls) { $localFileName = ".\part$($part).pdf" # Download PDF file Invoke-WebRequest -Headers @{ "x-api-key" = $API_KEY } -OutFile $localFileName -Uri $url Write-Host "Downloaded `"$($localFileName)`"" $part++ } } else { # Display service reported error Write-Host $jsonResponse.message } } else { # Display request error status Write-Host $r.StatusCode + " " + $r.StatusDescription } } else { # Display service reported error Write-Host $jsonResponse.message } } catch { # Display request error Write-Host $_.Exception }
run.bat
@echo off powershell -NoProfile -ExecutionPolicy Bypass -Command "& .\SplitPdfFromUploadedFile.ps1" echo Script finished with errorlevel=%errorlevel% pause
VIDEO
ON-PREMISE OFFLINE SDK
See also:
ON-DEMAND REST WEB API
Get Your API Key
See also:
PDF-co-Web-API-PowerShell-Split-PDF-From-Uploaded-File.pdf