Add endpoint for generating an image of a letter

The PDF preview is all good, but it’s hard, finickeity and feels dirty
to embed a PDF in a web page. It’s a more natural thing to embed an
image in a web page.

So this commit adds another endpoint to return an image of a letter
template. It generates this image from the PDF preview, so the stack
looks like:

1. `template.png` (generated in admin)
2. `template.pdf` (generated in admin)
3. HTML preview (generated by a `Renderer` in utils)
4. `Template` instance
5. serialised template from API
6. Template stored in database

The library used to convert the PDF to an image is Wand[1], which binds
to ImageMagick underneath. So in order to get this working locally on a
Mac you will probably need to do:
`brew install imagemagick ghostscript cairo pango`.

To get it working on Ubuntu/EC2 is an exercise left to the reader…

1. http://docs.wand-py.org/en/0.4.4/
This commit is contained in:
Chris Hill-Scott
2016-11-28 11:01:39 +00:00
parent d0f90eac7e
commit 43296469d6
6 changed files with 34 additions and 3 deletions

View File

@@ -25,7 +25,7 @@ Languages needed
- [Node](https://nodejs.org/) 5.0.0 or greater
- [npm](https://www.npmjs.com/) 3.0.0 or greater
```shell
brew install node
brew install node imagemagick ghostscript cairo pango
```
[NPM](npmjs.org) is Node's package management tool. `n` is a tool for managing