Click or drag to resize
Pdf Library for .NET

Cloud Deployments

SelectPdf runs on the main cloud platforms of Microsoft, Amazon and Google. The conversion code is the same everywhere; what differs is how the application is packaged and how much processor and memory the platform gives it. Each page below walks through one platform step by step, with the settings that matter and the results measured there.

Supported platforms

Platform

Operating system

How SelectPdf is deployed

Azure App Service

Windows, Linux

a web application (zip deploy or Web Deploy)

Azure Functions

Windows, Linux

a function app on a Dedicated (App Service) or Premium plan

Azure Container Apps

Linux

a container image

AWS Lambda

Linux (x64, arm64)

a container image

AWS Elastic Beanstalk

Windows (IIS), Linux

a source bundle of the web application

Google Cloud Run

Linux

a container image, or a Cloud Run function

Each of them was verified in October 2026 with the same set of live web sites and with pages in English, Arabic, Hebrew, Hindi, Thai, Chinese, Japanese and Korean, every PDF compared with a conversion of the same page on a local Windows computer.

Any service that runs a Linux or Windows container also runs SelectPdf - see Deployment with Docker - and so does any virtual machine (Azure Virtual Machines, Amazon EC2, Google Compute Engine).

Not supported
  • Azure Functions Consumption and Flex Consumption plans - see Azure Functions.

  • Azure App Service Free and Shared plans - they do not allow the engine processes.

  • Alpine (musl) Linux images - the engines need a glibc-based distribution.

What every platform needs
  • The native package for the platform - SelectPdf.Universal.Native.linux-x64 (or linux-arm64) on Linux, win-x64 (or win-x86) on Windows - next to the managed SelectPdf.HtmlToPdf.Universal package. Nothing is installed on the server: no system packages, no display server, no chmod.

  • Fonts on Linux - the SelectPdf.Universal.Fonts package; see Fonts and Languages.

  • Processor and memory - HTML conversion runs a complete Chromium browser. Plan for 2 virtual CPUs and 2 to 4 GB of memory per instance; a heavy page needs more than 2 GB.

  • A writable, unpacked deployment - the engine cannot be started from inside a mounted package (Azure's Run From Package on Windows, Flex Consumption).

An instance keeps the Chromium engine loaded between conversions, so a conversion on a warm instance takes about as long as on a developer computer (around 1.5 seconds for a typical web page). The first conversion of a new instance takes longer while the engine starts; platforms that stop idle instances (AWS Lambda, and container services scaled to zero) pay that again after a quiet period.

An instance converts up to MaximumConcurrentConversions pages at once (8 by default); set a platform's per-instance concurrency to the same number.

The conversion code itself does not change:

// the conversion code is the same on every platform
HtmlToPdf converter = new HtmlToPdf();
PdfDocument doc = converter.ConvertUrl("https://selectpdf.com");
byte[] pdf = doc.Save();
doc.Close();
See Also