I use SVG for the browser and for PDF/printing I reuse the same SVG plus some text, also in SVG for simplicity and then run this combined SVG through SVG2PDF service. The service is dead simple and up for grabs for everyone: https://github.com/kika/svg2pdf