abdusco / matbaa

Easy-to-use API for converting HTML into PDF

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Matbaa

Matbaa is a mini API that provides an easy-to-use interface over Puppeteer to generate PDFs from HTML.

Usage

You need a browser that exposes its remote debugging interface. You can launch a local Chrome instance or run Browserless on Docker:

Remote browser

Launch a browserless/chrome container with:

docker run -p 12345:3000 browserless/chrome

Then use the following URL:

ws://localhost:12345/webdriver

Local browser

Open up a shell and run:

chrome.exe --headless --remote-debugging-port=9222 --no-first-run --no-default-browser-check  --user-data-dir=.chrome

This will launch a hidden Chrome window.

Then fetch the debugger URL using

(curl --silent http://127.0.0.1: 9222/json/version | ConvertFrom-Json).webSocketDebuggerUrl

Configuration

Once you have a running browser instance, set Puppeteer:BrowserWsEndpoint in appsettings.json.

Or via an environment variable:

export Puppeteer__BrowserWsEndpoint=ws://url.to.browser 
dotnet run

API

Go to /api to view Swagger documentation.

TODO:

  • Add UI

About

Easy-to-use API for converting HTML into PDF


Languages

Language:C# 98.6%Language:Dockerfile 1.4%