Repository navigation
PDF Import
The PDF Import tool reads the vector drawing of a PDF file and creates objects from it. Each fill color becomes a Gerber object. The round holes become one Excellon object. Use it to bring in artwork that is only available as a PDF, such as a layout exported from another CAD program.
- Menu: File > Import > PDF Import Tool.
- Keyboard: none.
- Choose File > Import > PDF Import Tool.
- In the file dialog, select one or more PDF files, then click Open.
- The status bar shows "Parsing..." and then "Rendering PDF layer" for each layer.
- Read the message list. A warning lists the hidden layers that were skipped, and any unsupported PDF content.
- Check the new objects in the Project tree. Each one is named after the file and the layer number.
Screenshot placeholder:
images/PDF-Import-1.png— the Project tree after a PDF import, with one Excellon and several Gerber objects named after the file and the layer.
The PDF Import tool has no parameter fields. The file dialog is the only control.
| Control | Description | Default |
|---|---|---|
| Open PDF dialog | Selects one or more PDF files. The filter shows Adobe PDF Files (*.pdf) and All Files. | — |
| Cancel | Stops the import. The message "Open PDF cancelled" shows. | — |
Objects that the import creates
| Object | Source | Name |
|---|---|---|
| Excellon | Round holes. Layer 0. The holes are grouped by diameter, one tool per diameter. | <file name>_0 |
| Gerber | Each fill color in the PDF. Each color is one layer. | <file name>_<layer number> |
- A PDF with more than one page gets one set of objects per page. The page number is added as
_p<N>in the name. - A layer that has no area after the paint order is skipped. A layer that has no drill is not made into an object.
- The Excellon hole detection uses both the fill color and the stroke color of the paths (both).
What the parser supports
-
Clipping. The paths with a
WorW*clipping operator are cut to the clip area. Areas outside the clip are dropped. - Pages. Each page is parsed on its own, with a fresh graphics state. A page that cannot be read is skipped with a warning. The other pages are still imported.
- Hidden layers. Optional content groups that are off by default in the file are skipped. A warning lists them. Layers that are shown in the file are imported.
- Unsupported content. Features the parser does not support are listed in a warning after the import.
Parser choice
- The parser is set by the
pdf_python_parseroption. The default is the pure-Python parser, which is always available. - A pikepdf based parser is available through the same option. It is loaded only when you choose it.
Limits
- Only vector content is imported. A PDF that holds only a scanned image gives no objects. Use Image Import for bitmap images.
- Text in the PDF is not converted to geometry.
- The results depend on how the PDF was made. Check the objects against the source drawing.
- Tcl. There is no Tcl command for this tool.
- Image Import — import a bitmap image.
- Importing Files — the other file formats.
- Gerber Object and Excellon Object
- Subtract — cut one imported layer from another.
- Preferences-Utilities
- FAQ and Troubleshooting
FlatCAM Evo Manual · Source code · Report a problem · MIT license
Start here
- Installation
- Getting Started
- Tutorial: Single-Sided PCB
- Tutorial: Double-Sided PCB
- User Interface
- Keyboard Shortcuts
- Glossary
- FAQ and Troubleshooting
Files and projects
Objects
Editors
PCB operations
- Isolation Routing
- Non-Copper Clearing
- Paint
- Cutout
- Drilling
- Milling
- Follow
- Double-Sided
- Solder Paste
- Film
- Panelize
- Copper Thieving
- Fiducials
- Markers
- Punch Gerber
- Invert Gerber
- Etch Compensation
- Extract
- Rules Check
- QR Code
Utility plugins
- Align Objects
- Calculators
- Distance · Object Distance
- Optimal
- Move · Transform
- Subtract
- Image Import · PDF Import
- PCB Wizard
- Report
- Tcl Shell
Machine control (in development)
Advanced
- Tools Database
- Preprocessors
- Path Optimization
- Tcl Scripting
- Tcl Command Reference
- Developer Guide
- Translating
Preferences