2.2.0 • Published 4 years ago

electron-md-to-pdf v2.2.0

Weekly downloads
8
License
MIT
Repository
github
Last release
4 years ago

electron-md-to-pdf

Convert Markdown to PDF in Electron apps

This simple library first converts a Markdown string to HTML (using Showdown) and then to PDF (using Chromium's built-in print functionality). This makes it possible to convert Markdown to PDF with a minimal number of dependencies in Electron apps.

Installation

npm install electron-md-to-pdf

Usage

This module exposes two functions:

  • mdToPdfBuffer(md, options), which generates a PDF from the provided Markdown string (md) and returns it as a Buffer
  • mdToPdfFile(md, filePath, options), which generates a PDF from the provided Markdown string and saves it at the provided filePath

Both functions return promises.

The options parameter is optional. It's an object which may contain the following values:

  • basePath (String): Base directory for relative paths of resources, e.g. images. Default: Current directory
  • cssString (String): CSS string to inject into the HTML which is generated from the Markdown string (e.g. "body { color: red; }")
  • cssFiles (String array): Array of CSS files to inject into the HTML (e.g. ["./path/to/styles.css"])
  • mdFlavor (String): Markdown flavor to use, one of ["original", "vanilla", "github"] (see the Showdown docs). Default is "github"
  • pdfOptions (Object): Options to pass to Electron's PDF print function (see the Electron docs)
  • showdownOptions (Object): Other options for the HTML generation (see the Showdown docs)
  • wrapperClasses (String): Class(es) to apply to the wrapper div around the Markdown HTML

See the examples on how to use the module in the main process and renderer process.

Development

Make sure you have Node.js and Yarn installed.

  1. Clone this repo: git clone REPO_URL
  2. Install the dependencies: yarn
  3. Run the test app: yarn start

Contributing

Suggestions and contributions are always welcome! Please first discuss changes via issue before submitting a pull request.

2.2.0

4 years ago

2.1.1

4 years ago

2.1.0

4 years ago

2.0.0

5 years ago

1.1.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago