How to add text and images to PDF in PowerShell and Web API

Write code in PowerShell to add text and images to PDF with this step-by-step tutorial

The code below will help you to implement an PowerShell app to add text and images to PDF. 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. It can be used to add text and images to PDF using PowerShell.

This code snippet below for Web API works best when you need to quickly add text and images to PDF in your PowerShell application. Follow the instructions from the scratch to work and copy the PowerShell code. Implementing 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. Web API free trial version is available on our website. PowerShell and other programming languages are supported.

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

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


# The authentication key (API Key). # Get your own by registering at $API_KEY = "***********************************" # Direct URL of source PDF file. $SourceFileUrl = "" #Comma-separated list of page indices (or ranges) to process. Leave empty for all pages. Example: '0,2-5,7-'. $Pages = "" # PDF document password. Leave empty for unprotected documents. $Password = "" # Destination PDF file name $DestinationFile = "./result.pdf" # Text annotation params $Type = "annotation"; $X = 400; $Y = 600; $Text = "APPROVED"; $FontName = "Times New Roman"; $FontSize = 24; $Color = "FF0000"; $resultFileName = [System.IO.Path]::GetFileName($DestinationFile) # * Add Text * # Prepare request to `PDF Edit` API endpoint $query = "" # Prepare request body (will be auto-converted to JSON by Invoke-RestMethod) # See documentation: $body = @{ "name" = $resultFileName "password" = $Password "pages" = $Pages "url" = $SourceFileUrl "type" = $Type "x" = $X "y" = $Y "text" = $Text "fontname" = $FontName "size" = $FontSize "color" = $Color } | 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) { # Get URL of generated output file $resultFileUrl = $jsonResponse.url # Download output file Invoke-WebRequest -Uri $resultFileUrl -OutFile $DestinationFile Write-Host "Generated PDF saved to '$($DestinationFile)' file." } else { # Display service reported error Write-Host $jsonResponse.message } } catch { # Display request error Write-Host $_.Exception }


@echo off powershell -NoProfile -ExecutionPolicy Bypass -Command "& .\AddTextToExistingPDF.ps1" echo Script finished with errorlevel=%errorlevel% pause



Get 60 Day Free Trial

See also:


Get Your API Key

See also:

Related Samples: