Thanks Jeff. That also shows that I’m probably far from being the only one asking. Hope this will stick to the v8 release, but even so, that’s still a few months from now. I can’t use dev builds for work.
The reasons I’m asking to make it optional were stated in my OP, I don’t think I need to go over them again.
Just note that regarding the “security” factor, this is a serious concern. Especially for those working in professional environments. The IT dept of many companies just reject PDF files with “active content” (as it can potentially contain harmful stuff), so that’s certainly something one should always make optional IMO. For those that find this useful, and for the use cases for which this is useful and can be used, fine.
“Printing to PDF” is the usual workaround suggested in general (not specifically KiCad) for stripping out active content from a PDF. Unfortunately, it does strip more than just that. We also lose the index (table of contents that shows the sheet names), which is handy for larger schematics, and which per se doesn’t require active content, it’s a basic PDF feature. Also, printing to PDF is less convenient in KiCad than plotting, it requires more clicks and going through more dialogs, it doesn’t retain the path we want to save the plots to (while KiCad plot does), etc. Not quite equivalent, unfortunately.
I’ve looked at kicad-cli, just in case it provided the option that we don’t get in the GUI, but it doesn’t - same options. (So btw, to Jeff: I’ve taken a quick look at your implementation in gitlab, pretty cool, but I’m not sure you have handled the option via kicad-cli as well. Maybe you have, if not, that’s something worth adding too. For those who automate things.)
For the intriguing factor, I tried using ghostscript to strip off the active content from the PDF, but for some reason, it just won’t, whatever the options I tried (even forcing PDF/A, which should normally never output active content as it’s non-compliant with PDF/A.) That’s probably something to be submitted to the ghostscript devs. What I can just say is that ghostscript detects errors in the schematic PDFs generated by KiCad (which may explain the above issue, not sure):
The following errors were encountered at least once while processing this file:
circular reference to indirect object
The following warnings were encountered at least once while processing this file:
A problem was encountered trying to preserve the Outlines
**** This file had errors that were repaired or ignored.
**** The file was produced by:
**** >>>> KiCad PDF <<<<
**** Please notify the author of the software that produced this
**** file that it does not conform to Adobe's published PDF
**** specification.