How to split PDF from URL asynchronously for PDF splitting API in PowerShell with PDF.co Web API
Learn how to split PDF from URL asynchronously to have PDF splitting API in PowerShell
Here you may find thousands pre-made source code pieces for easy implementation in your own programming projects. PDF.co Web API helps with PDF splitting API in PowerShell. PDF.co Web API is the Rest API that provides set of data extraction functions, tools for documents manipulation, splitting and merging of pdf files. Includes built-in OCR, images recognition, can generate and read barcodes from images, scans and pdf.
Fast application programming interfaces of PDF.co Web API for PowerShell plus the instruction and the code below will help to learn how to split PDF from URL asynchronously. Open your PowerShell project and simply copy & paste the code and then run your app! Code testing will allow the function to be tested and work properly with your data.
ByteScout free trial version is available for FREE download from our website. Programming tutorials along with source code samples are included.
On-demand (REST Web API) version:
Web API (on-demand version)
On-premise offline SDK for Windows:
60 Day Free Trial (on-premise)
SplitPdfFromUrlAsynchronously.ps1
# Cloud API asynchronous "Split PDF" job example. # Allows to avoid timeout errors when processing huge or scanned PDF documents. # The authentication key (API Key). # Get your own by registering at https://app.pdf.co/documentation/api $API_KEY = "***********************************" # Source PDF file to split $SourceFileUrl = "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-split/sample.pdf" # Comma-separated list of page numbers (or ranges) to process. Example: '1,3-5,7-'. $Pages = "1-2,3-" # (!) Make asynchronous job $Async = $true # 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" = $SourceFileUrl "async" = $Async } | ConvertTo-Json try { # 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) { # Asynchronous job ID $jobId = $jsonResponse.jobId # URL of generated JSON file available after the job completion; it will contain URLs of result PDF files. $resultJsonFileUrl = $jsonResponse.url # Check the job status in a loop. do { $statusCheckUrl = "https://api.pdf.co/v1/job/check?jobid=" + $jobId $jsonStatus = Invoke-RestMethod -Method Get -Headers @{ "x-api-key" = $API_KEY } -Uri $statusCheckUrl # Display timestamp and status (for demo purposes) Write-Host "$(Get-date): $($jsonStatus.status)" if ($jsonStatus.status -eq "success") { # Download JSON file with URLs of result PDF files $jsonPdfUrls = Invoke-RestMethod -Method Get -Headers @{ "x-api-key" = $API_KEY } -Uri $resultJsonFileUrl # Download generated PDF files $part = 1; foreach ($url in $jsonPdfUrls) { $localFileName = ".\part$($part).pdf" # Download PDF file Invoke-WebRequest -Headers @{ "x-api-key" = $API_KEY } -OutFile $localFileName -Uri $url Write-Host "Downloaded `"$($localFileName)`"" $part++ } break } elseif ($jsonStatus.status -eq "working") { # Pause for a few seconds Start-Sleep -Seconds 3 } else { Write-Host $jsonStatus.status break } } while ($true) } 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 "& .\SplitPdfFromUrlAsynchronously.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-URL-Asynchronously.pdf