PDF (Portable Document Format)
Exports the PCB to the most common exchange format. Suitable for printing.
Note that this output isn’t the best for documating your project.
This output is what you get from the File/Plot menu in pcbnew.
The pcb_print is usually a better alternative.
Note
If you use custom fonts and/or colors please consult the resources_dir global variable.
Type: pdf
Category: PCB/docs
Parameters:
comment : [string] (default:
'') A comment for documentation purposes. It helps to identify the output.dir : [string] (default:
'./') Output directory for the generated files. If it starts with + the rest is concatenated to the default dir.layers : [Layer parameters] [list(dict) | list(string) | string] (default:
'all') (choices: “all”, “selected”, “copper”, “technical”, “user”, “inners”, “outers”) (also accepts any string) List of PCB layers to plot.name : [string] (default:
'') Used to identify this particular output definition. Avoid using _ as first character. These names are reserved for KiBot.options : [PDFOptions parameters] [dict] (default: empty dict, default values used) Options for the pdf output.
output : [string] (default:
'%f-%i%I%v.%x') Output file name, the default KiCad name if empty.
Note
- KiCad will always create the file using its own name and then we can rename it.
For this reason you must avoid generating two variants at the same directory when one of them uses the default KiCad name. Affected by global options.
plot_sheet_reference : [boolean] (default:
false) Include the frame and title block. Only available for KiCad 6+ and you get a poor result (i.e. always the default worksheet style, also problems expanding text variables).
The pcb_print output can do a better job for PDF, SVG, PS, EPS and PNG outputs.scaling : [number] (default:
1) Scale factor (0 means autoscaling).type : ‘pdf’
category: [string | list(string)] (default:'') [comma separated] The category for this output. If not specified an internally defined category is used.
Categories looks like file system paths, i.e. PCB/fabrication/gerber.
Using ‘.’ or ‘./’ as a category puts the file at the root.
The categories are currently used for navigate_results and navigate_results_rb.custom_reports: [CustomReport parameters] [list(dict)] (default:[]) A list of customized reports for the manufacturer.disable_run_by_default: [string | boolean] (default:'') Use it to disable the run_by_default status of other output. Useful when this output extends another and you don’t want to generate the original.
Use the boolean true value to disable the output you are extending.dnf_filter: [string | list(string)] (default:'_null') Name of the filter to mark components as not fitted. Is a short-cut to use for simple cases where a variant is an overkill.
Can be used to fine-tune a variant for a particular output that needs extra filtering done before the variant.drill_marks: [string] (default:'full') (choices: “none”, “small”, “full”) What to use to indicate the drill places, can be none, small or full (for real scale).edge_cut_extension: [string] (default:'') Used to configure the edge cuts layer extension for Protel mode. Include the dot.exclude_edge_layer: [boolean] (default:true) Do not include the PCB edge layer.exclude_filter: [string | list(string)] (default:'_null') Name of the filter to exclude components from processing. Is a short-cut to use for simple cases where a variant is an overkill.
Can be used to fine-tune a variant for a particular output that needs extra filtering done before the variant.exclude_pads_from_silkscreen: [boolean] (default:false) Do not plot the component pads in the silk screen (KiCad 5.x only).extends: [string] (default:'') Copy the options section from the indicated output. Used to inherit options from another output of the same type.force_plot_invisible_refs_vals: [boolean] (default:false) Include references and values even when they are marked as invisible. Not available on KiCad 9.0.1 and newer.groups: [string | list(string)] (default:'') One or more groups to add this output. In order to catch typos we recommend to add outputs only to existing groups. You can create an empty group if needed.individual_page_scaling: [boolean] (default:true) Tell KiCad to apply the scaling for each layer as a separated entity. Disabling it the pages are coherent and can be superposed.inner_extension_pattern: [string] (default:'') Used to change the Protel style extensions for inner layers. The replacement pattern can contain %n for the inner layer number and %N for the layer number.
Example ‘.g%n’.
Note
- this numbering is consistent and the first inner layer is %n = 1 and %N = 2. Which
isn’t true for KiCad. KiCad 8 uses 2 for the first inner and KiCad 9 uses 1.
output_id: [string] (default:'') Text to use for the %I expansion content. To differentiate variations of this output.plot_footprint_refs: [boolean] (default:true) Include the footprint references.plot_footprint_values: [boolean] (default:true) Include the footprint values.pre_transform: [string | list(string)] (default:'_null') Name of the filter to transform fields before applying other filters. Is a short-cut to use for simple cases where a variant is an overkill.
Can be used to fine-tune a variant for a particular output that needs extra filtering done before the variant.priority: [number] (default:50) (range: 0 to 100) Priority for this output. High priority outputs are created first. Internally we use 10 for low priority, 90 for high priority and 50 for most outputs.run_by_default: [boolean] (default:true) When enabled this output will be created when no specific outputs are requested.sketch_pad_line_width: [number] (default:0.1) Line width for the sketched pads [mm], see sketch_pads_on_fab_layers (KiCad 6+) Note that this value is currently ignored by KiCad (6.0.9).sketch_pads_on_fab_layers: [boolean] (default:false) Draw only the outline of the pads on the \*.Fab layers (KiCad 6+).tent_vias: [boolean] (default:true) Cover the vias. Usable for KiCad versions older than 9.
Warning
KiCad 8 has a bug that ignores this option. Set it from KiCad GUI.
uppercase_extensions: [boolean] (default:false) Use uppercase names for the extensions.variant: [string] (default:'') Board variant to apply.