PDF output from KiCad in Linux
The most reliable way I've found to get good PDFs from KiCad under Linux is to first plot to SVG and then use an external tool to convert the SVGs to PDF. Plotting to SVG in KiCad isn't difficult:
- In Eeschema: File > Plot > Plot SVG
- In Pcbnew: File > Print SVG
However, converting these files to PDF isn't quite as straight-forward. I wrote the script svg2pdf-d to automate the conversion process. Just drop a copy of the script into a KiCad project directory and then run it whenever you want to convert files.
Running this script will delete all *.svg files in the working directory!
This is by design. I want to minimize the number of files that might be out of sync with the source, and keeping both SVGs and PDFs is just asking for trouble!
Put any SVG artwork you need to keep in a subdirectory or edit the script so it doesn't delete *.svg files.
There are a few things more you should note:
- The script relies on Inkscape, which it runs in batch/shell mode. Inkscape isn't really that light, but it’s arguably something that should be in your FOSS toolkit anyway.
- The color mapping from SVGs (at least from Eeschema) is truer.
- Pcbnew gives you much more control over what you can plot to SVG compared to PostScript. In particular, you can't plot composite layers to PostScript.
- Correct page-sizing with SVG conversion is automatic (I think).
I include the PostScript version here because there might be some limitations with SVGs that I've yet to discover.