Link Search Menu Expand Document

Generate PDF From HTML File - PowerShell

PDF from HTML (HTML to PDF) sample in PowerShell demonstrating ‘Generate PDF From HTML File’

GeneratePdfFromHtml.ps1
# The authentication key (API Key).
# Get your own by registering at https://app.pdf.co
$API_KEY = "**************************************"

# HTML input
$HtmlInput = [IO.File]::ReadAllText(".\sample.html")
# Destination PDF file name
$DestinationFile = ".\result.pdf"

# Prepare URL for HTML to PDF API call
$query = "https://api.pdf.co/v1/pdf/convert/from/html"
$query = [System.Uri]::EscapeUriString($query)

# Prepare request body (will be auto-converted to JSON by Invoke-RestMethod)
# See documentation: https://apidocs.pdf.co/?#1-json-pdfconvertfromhtml
$body = @{
    "html" = $HtmlInput
    "name" = $(Split-Path $DestinationFile -Leaf)
} | ConvertTo-Json

try {
    # Execute request
    $response = Invoke-WebRequest -Method Post -Headers @{ "x-api-key" = $API_KEY; "Content-Type" = "application/json" } -Body $body -Uri $query

    if ($response.StatusCode -eq 200) {
        
        $jsonResponse = $response.Content | ConvertFrom-Json

        if ($jsonResponse.error -eq $false) {
            # Get URL of generated PDF file
            $resultFileUrl = $jsonResponse.url;
            
            # Download PDF file
            Invoke-WebRequest -Headers @{ "x-api-key" = $API_KEY } -OutFile $DestinationFile -Uri $resultFileUrl

            Write-Host "Generated PDF file saved as `"$($DestinationFile)`" file."
        }
        else {
            # Display service reported error
            Write-Host $jsonResponse.message
        }
    }
    else {
        # Display request error status
        Write-Host $response.StatusCode + " " + $response.StatusDescription
    }
}
catch {
    # Display request error
    Write-Host $_.Exception
}

sample.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">

<head>
	<title>TODO List</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>

<body>
	<h1>TODO List</h1>
	<ul>
		<li>
			Wash the car
		</li>
		<li>
			Do the dishes
		</li>
		<li>
			Walk the dog
		</li>
		<li>
			Buy A4 papers
		</li>
	</ul>
</body>

</html>

PDF.co Web API: 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.

Get your PDF.co API key here!

Download Source Code (.zip)

return to the previous page explore PDF from HTML (HTML to PDF) endpoint