Generating PDF document from HTML in Go

Wondering how to convert HTML to PDF in Go? We'll show you how. wkhtmltopdf is a popular open source HTML to PDF conversion library. There is a Golang wrapper for this command line utility named go-wkhtmltopdf.

While wkhtmltopdf is a good open source and free option for converting HTML to PDF, headless Chrome is the best way to convert raw HTML and CSS to PDF. Nothing can render HTML better than a browser and nothing beats Chrome when it comes to rendering HTML. Chrome has inbuilt capability to convert any HTML page to PDF. Another benefit of generating PDF documents from HTML is that you can style the document using your familiar CSS framework. You don't have to learn a new styling language to get the out put you want. You can focus on creating the data for the PDF you want and leave the rest to our API.

We at PDFMark have done the hard work of managing the headless Chrome and wrapped it into an easy to use REST API so you can simply call the API from your Go code and pass in the HTML or a URL and get it converted to a PDF document. PDFMark will even upload it to cloud and give you a CDN link so you can simply serve that link to your end users without having to worry about saving the document yourself.

Here is the code for calling the PDFMark HTML to PDF REST API in Go
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://api.pdfmark.com/pdf"
  method := "POST"

  payload := strings.NewReader(`{ "html" : "<html> <body> <h1> Hello World! </h1> </body> </html>" }`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("key", "YOUR_API_KEY")
  req.Header.Add("Content-Type", "application/json")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}

Try out PDFMark API with your own HTML or URL

HTML
URL
JSON
   Preview    Try <qr>http://example.com</qr>

Sign up for PDFMark and get your API key. You can start converting your HTML to PDF in next one minute.

Convert HTML to PDF in your favourite programming language. Click on the icon below to view the code

HTML to PDF in C#

HTML to PDF in Php

HTML to PDF in Python

HTML to PDF in Go


HTML to PDF in NodeJS

HTML to PDF in Java

HTML to PDF in VB.Net

HTML to PDF in Ruby