Combined layout/placement(silk/fab) PDF, text searchable


After a long pause in working with Kicad, I’m once again (still) encountering a problem in creating a PDF with silk screen or fab output (on top of the appropriate layer, that is visible, too - using Kicad 5). The output is always with reference and value, regardless whether e.g. value is visible in the layout view or not.
Another issue is PDF via printer driver: Text is not searchable.

As a workaround I created a shell script that solves these issues. Morover, the text automatically appears black, and is searchable. The shell script is self explaining. Basically, the method is to plot PDF output of both FAB-layers and to export the top resp. bottom layer to SVG format. Then the shell script converts the SVG to PDF and then combines the text PDF with the layer PDF to form a document that looks nice, and is text searchable.

makeCu (1.4 KB)

Of course, a few packages must be installed (on Linux) in order to let the script do the job. Perhaps, anyone can extend this solution, e.g. fully automated from the Kicad scripting level, including the creation of the individual output files that is needed to create this composition.

An impression of the output (partially, screenshot from PDF):


I don’t know if I have understood correctly.

In the plot option window there are 3 check boxes “plot footprint values”, “plot footprint references” and “force plotting of invisible values/references”.

These options are working fine with my v5-rc3 version.


I am Windows user.
Long time ago (in DOS times) I have written some *.bat files but now it is history.
Now I am used to think that what I need I should get directly from program and I am not expected to be interested in internal file formats.
When I’ve started to be interested in KiCad I even didn’t supposed that people use external processing to get what they wont.
The first think I have checked was if I can get printed documentation files as I like to have (and what I have to do to get it).
My experiments showed me that I can’t get it with standard KiCad libraries. I’m used to use only my own libraries (I work that way with Protel) so the decision that with KiCad I will also use my libraries was easy.
I’ve designed only one PCB with 4.0.7, but as there are some color problems in exporting in 4.0.7 I have get my documentation files using current nigtly version.
Using export/SVG I got one file with references and one with values (black on gray copper). Then I put them both into my product documentation in LibreOffice Writer. And here is the screenshot:


And you get that way pictures with elements on pcb with visible copper?
The best would be directly.


Yes, only in the plot window. But then you get separate files. Not one combined file with the selected layers. If you choose to use the export function, you can get one combined file, but no selection of e.g. values without references.

And… after all: You only get text searchability if you use plot (and hence, only single files) to PDF!
Text searchability is not only required by customers who receive PDF-schematics, but also for some recipients of documentation, when they receive footprint map documents. The underlying layer makes it just more readable when one is working on a board, e.g. testing work, or manual soldering, without the need to have or use PCBNEW.


Regarding “internal file formats”: I don’t care about that too. It’s the pdf toolkit in Linux that does the job.
And, let me compare “external processing” to “support specialists” in any firm environment. If any such specialists provide useful scripts for you that you only need to invoke, that’s fine, isn’t it?

For sure, for your diagrams (which need not be text searchable when it is solely printed documentation), you need to temoprarily change the layer and pad colors to gray (and text layers to black), and then back again. As long as the program does not support layer setting sets that can be saved using a name, a script would come in handy, too.


As @rob says, the plot option prints each layer in a different file. I had understood that Rob wanted the pdf either without any reference/value or with full searchable texts.


As I understand Python scripts are used here by many of people. At that moment I don’t know what I have to have to “only need to invoke”. I suppose in future I will know that, but now not.

This is the pain. In Protel I could change colors, do the job, and close pcb without saveing. I was surprised that here it doesn’t work. I don’t know where the colors are saved. Something what I noticed told me that not in the PCB file, but I don’t remember what and so I’m not sure now. I suppose when I come to real KiCad use I will find where it is and some solution can be to make copy of it before changing colors.
The other is that I plan to find some time and discover what Python is.
Then may be the good solution could be to export svg with original colors and then write something to change colors in file only.