How to convert DOC to PDF from URL asynchronously for DOC to PDF API in PowerShell and PDF.co Web API
Step By Step Tutorial: how to convert DOC to PDF from URL asynchronously for DOC to PDF API in PowerShell
Every ByteScout tool contains example PowerShell source codes that you can find here or in the folder with installed ByteScout product. PDF.co Web API was made to help with DOC to PDF 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 DOC to PDF API. Follow the instruction and copy – paste code for PowerShell into your project’s code editor. Writing PowerShell application typically includes multiple stages of the software development so even if the functionality works please test it with your data and the production environment.
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)
ConvertDocToPdfFromUrlAsynchronously.ps1
# Cloud API asynchronous "DOC To 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 = "***********************************" # Direct URL of source DOC or DOCX file. $SourceFileURL = "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/doc-to-pdf/sample.docx" # Destination PDF file name $DestinationFile = ".\result.pdf" # (!) Make asynchronous job $Async = $true # Prepare URL for `DOC To PDF` API call $query = "https://api.pdf.co/v1/pdf/convert/from/doc" # Prepare request body (will be auto-converted to JSON by Invoke-RestMethod) # See documentation: https://apidocs.pdf.co $body = @{ "name" = $(Split-Path $DestinationFile -Leaf) "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 PDF file that will available after the job completion $resultFileUrl = $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 PDF file Invoke-WebRequest -Headers @{ "x-api-key" = $API_KEY } -OutFile $DestinationFile -Uri $resultFileUrl Write-Host "Generated PDF file saved as `"$($DestinationFile)`" file." 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 "& .\ConvertDocToPdfFromUrlAsynchronously.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-Convert-DOC-To-PDF-From-URL-Asynchronously.pdf