Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/AuburnSounds/printed

Generate PDF/SVG/HTML with D, with a Canvas-style API. Now with a flow document emitter.
https://github.com/AuburnSounds/printed

canvas generation pdf printable svg vector-graphics

Last synced: 3 months ago
JSON representation

Generate PDF/SVG/HTML with D, with a Canvas-style API. Now with a flow document emitter.

Awesome Lists containing this project

README

        

# `printed`

A simple Canvas API to generate self-contained PDF/SVG/HTML documents suitable for print.

`printed` provides an immediate graphical context API for drawing vectorial content inside a multi-page PDF, HTML or SVG.
It is intended to provide a barebones API, and need text-aware APIs on top of it.

Its API is similar to the HTML5 Canvas 2D API.

_The ultimate goal would be to generate technical documentation or user manuals with it, but for that you
would need a text layout library._

## Features

- [x] **TrueType and OpenType font embedding** in order to have fully reproducible vectors
- [x] PDF 1.4 output
- [x] SVG 1.1 output
- [x] HTML5 output through SVG embedding

[See features of the 2D renderer...](https://github.com/p0nce/printed/blob/master/canvas/printed/canvas/irenderer.d)

## Goals

- Simplicity
- Reproducibility
- Common denominator API, support many vectorial formats before being a rich API.

## How to add as DUB dependency

With dub.sdl:
```
dependency "printed:canvas" version="~>1.0"
```

With dub.json:
```json
"dependencies": { "printed:canvas": "~>1.0" }
```