Easy PDF Server home

Easy PDF Server A Simple API to Convert HTML to PDF

By developers for developers

Use these code samples to automate HTML to PDF conversion in minutes using our simple REST API:

Convert HTML to PDF right now on our website:

The demo key is free and adds a watermark. Use your own key for clean PDFs.

Create PDF from an HTML string in CURL:

curl -f 'https://api.easypdfserver.com/make-pdf' \ --data-binary '{"html":"YOUR-HTML-STRING", "key":"YOUR-API-KEY"}' \ > download.pdf

or create PDF from a URL in CURL:

curl -f 'https://api.easypdfserver.com/make-pdf' \ --data-binary '{"url":"YOUR-URL", "key": "YOUR-API-KEY"}' \ > download.pdf

Create PDF from an HTML string in NodeJS:

const https = require('https'), fs = require('fs'); const data = JSON.stringify({ key: 'YOUR-API-KEY', html: 'YOUR-HTML-STRING', }); const options = { hostname: 'api.easypdfserver.com', port: 443, path: '/make-pdf', method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': data.length, }, }; const req = https.request(options, res => { let body = Buffer.alloc(0); res.on('data', chunk => body = Buffer.concat([body, chunk])); res.on('end', () => fs.writeFile('download.pdf', body, console.error)); }); req.on('error', console.error); req.write(data); req.end();

or create PDF from a URL in NodeJS:

const https = require('https'), fs = require('fs'); const data = JSON.stringify({ key: 'YOUR-API-KEY', url: 'YOUR-URL', }); const options = { hostname: 'api.easypdfserver.com', port: 443, path: '/make-pdf', method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': data.length, }, }; const req = https.request(options, res => { let body = Buffer.alloc(0); res.on('data', chunk => body = Buffer.concat([body, chunk])); res.on('end', () => fs.writeFile('download.pdf', body, console.error)); }); req.on('error', console.error); req.write(data); req.end();

Create PDF from an HTML string in PHP:

$key = 'YOUR-API-KEY'; $html = 'YOUR-HTML-STRING'; $postdata = json_encode( array( 'key' => $key, 'html' => $html, ) ); $opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-type: application/json', 'content' => $postdata ) ); $context = stream_context_create($opts); $result = file_get_contents('https://api.easypdfserver.com/make-pdf',false,$context); file_put_contents('download.pdf',$result);

or create PDF from a URL in PHP:

$key = 'YOUR-API-KEY'; $url = 'YOUR-URL'; $postdata = json_encode( array( 'key' => $key, 'url' => $url, ) ); $opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-type: application/json', 'content' => $postdata ) ); $context = stream_context_create($opts); $result = file_get_contents('https://api.easypdfserver.com/make-pdf',false,$context); file_put_contents('download.pdf',$result);

Create PDF from an HTML string in Python:

import requests API_ENDPOINT = "https://api.easypdfserver.com/make-pdf" r = requests.post(url = API_ENDPOINT, json = {"key":"YOUR-API-KEY", "html":"YOUR-HTML-STRING"}) f = open("download.pdf", "wb") f.write(r.content) f.close()

or create PDF from a URL in Python:

import requests API_ENDPOINT = "https://api.easypdfserver.com/make-pdf" r = requests.post(url = API_ENDPOINT, json = {"key":"YOUR-API-KEY", "url":"YOUR-URL"}) f = open("download.pdf", "wb") f.write(r.content) f.close()

Create PDF from an HTML string in Ruby:

require 'net/http' require 'net/https' require 'uri' require 'json' uri = URI.parse("https://api.easypdfserver.com/make-pdf") data = { 'key': 'YOUR-API-KEY', 'html': 'YOUR-HTML-STRING'}.to_json https = Net::HTTP.new(uri.host,uri.port) https.use_ssl = true req = Net::HTTP::Post.new(uri.path, initheader = {'Content-Type' =>'application/json'}) req.body = data res = https.request(req) File.binwrite('download.pdf', res.body)

or create PDF from a URL in Ruby:

require 'net/http' require 'net/https' require 'uri' require 'json' uri = URI.parse("https://api.easypdfserver.com/make-pdf") data = { 'key': 'YOUR-API-KEY', 'url': 'YOUR-URL'}.to_json https = Net::HTTP.new(uri.host,uri.port) https.use_ssl = true req = Net::HTTP::Post.new(uri.path, initheader = {'Content-Type' =>'application/json'}) req.body = data res = https.request(req) File.binwrite('download.pdf', res.body)

Need help? All plans come with email support! Ask us a question or read the API documentation.

Send HTML

Send HTML...

Send your HTML text or a URL to our API for processing.

HTML to PDF conversion

*magic*

Our lightning fast, high availability cloud servers will magically transform your HTML into PDF.

Download PDF

...get your PDF.

Download your pdf in your application and serve to your customer as needed.

Converting HTML to PDFs has never been so easy

Start a 7-day free trial with full access to the API. Card required, first charge on day 8, cancel anytime.

Looking to host the code yourself instead of using the API?

Check out Easy PDF Server on AWS Marketplace.

Pricing Plans

Every plan starts with a 7-day free trial.

Single Developer API Plan

API - Monthly

$20/mo

includes email support

Small Business API Plan

API - Yearly (Save 42%)

$140/yr

includes email support

Enterprise API Plan

Self Hosted

$0.39/hr

includes email support

Subscribe

Hello, there! We'd love to hear from you. Send us a message.