A Reddit post last year with 44 upvotes caught a lot of engineers off-guard: Save As PDF in SolidWorks exports your entire model space, not just what’s visible on the sheet. If you or anyone on your team has ever put notes, costs, internal comments, or supplier-specific details off to the side of the sheet border — those are in the PDF you just emailed.

Print to PDF clips to the visible sheet boundary. That is the central difference, and everything else follows from it.

What “Model Space” Means Here

In SolidWorks drawings, there is a sheet with a defined border (your title block, A3/B-size, etc.). But the drawing canvas extends infinitely around that sheet. You can place sketch entities, notes, tables, and annotations anywhere on that canvas — and many engineers do, intentionally or not.

Save As PDF (File > Save As, format = PDF) uses SOLIDWORKS’s native export engine. It converts drawing geometry to vector paths and writes the PDF. The bounding box of the export is the full extent of drawn content, not the sheet boundary.

Print to PDF (any route through File > Print) sends the drawing through SOLIDWORKS’s print engine to a PDF printer driver. The print engine renders exactly the visible sheet, clipped at the sheet boundary.

In practice: if your drawing has a note at coordinates (-200mm, -50mm) — off to the left of the sheet — Save As PDF will include it. Print to PDF will not.

Why Engineers Put Content Off-Page

It is more common than you’d expect:

  • Work in progress notes: “check fillet radius with supplier before release” — left as a reminder during design, forgotten at release
  • Revision history scratchpad: comparison sketches from a previous version kept for reference
  • Supplier-specific pricing or lead time notes: placed off-page to keep them out of the drawing body
  • Old geometry from a previous design iteration: a remnant note or sketch entity that never got deleted
  • Hidden ghost annotations: balloons or tables that were moved off-page to “hide” them rather than deleted

The security implication is real. Before using Save As PDF for any external deliverable, scroll the canvas at a high zoom-out level and inspect what’s outside the sheet border.

The Technical Mechanism

Save As PDF Path

' IModelDocExtension.SaveAs3 — the native Save As PDF path
Dim swModel As SldWorks.ModelDoc2
Dim swModelExt As SldWorks.ModelDocExtension
Dim bRet As Boolean

Set swModel = swApp.ActiveDoc
Set swModelExt = swModel.Extension

bRet = swModelExt.SaveAs3( _
    "C:\Output\Drawing.pdf", _
    swSaveAsVersion_e.swSaveAsCurrentVersion, _
    swSaveAsOptions_e.swSaveAsOptions_Silent, _
    Nothing, Nothing, 0, 0)

This calls SOLIDWORKS’s proprietary PDF conversion. It converts all drawing entities to vector paths. The export boundary is the bounding box of all content, not the sheet.

Two important behaviours of this path:

  1. Forces a rebuild before export: any model changes since the last manual save will appear in the PDF. In an automated pipeline, this means the PDF reflects the current in-memory state — which can be a feature or a hazard depending on whether you want a snapshot of the saved file or the rebuilt state.
  2. Converts embedded images to path data: bitmaps in the drawing (company logo, inserted images) get rasterised at the export resolution. Image quality can degrade compared to the source.
' IModelDocExtension.PrintOut2 — the Print to PDF path
Dim swModel As SldWorks.ModelDoc2
Dim swModelExt As SldWorks.ModelDocExtension

Set swModel = swApp.ActiveDoc
Set swModelExt = swModel.Extension

' PrintOut2(nCopies, bReverse, oPrintSetup)
swModelExt.PrintOut2 1, False, Nothing

For batch automation with a specific PDF printer, you need to set the default printer to your PDF driver before calling PrintOut2, or use PrintOut4 which accepts a printer name parameter. PrintOut4 is the preferred method for production automation because it does not require changing system printer settings:

' PrintOut4 — printer-specific, no dialog, preferred for batch
swModelExt.PrintOut4 1, False, Nothing, "Microsoft Print to PDF", False, ""

The Print path:

  1. Does not force a rebuild: it renders the current display state. The drawing may be out-of-date if the model changed and no rebuild was triggered since.
  2. Clips to sheet boundary: only the visible sheet is rendered, matching what you see on screen at the active view zoom.
  3. Handles embedded images better: the print engine passes images to the PDF driver at original resolution rather than converting them to path data.
  4. Known issue — line overextension: lines in Print to PDF can extend slightly past their endpoints due to printer driver rendering. This is a known SOLIDWORKS behaviour affecting some PDF drivers but not others. Microsoft Print to PDF and Adobe Acrobat’s driver both have this issue; Bluebeam Revu’s PDF driver handles it more accurately.

Side-by-Side Comparison

BehaviourSave As PDFPrint to PDF
Export boundaryAll model space contentSheet boundary only
Embedded imagesConverted to paths (quality may drop)Passed at original resolution
Line renderingAccurate endpointsOverextension possible
Forces rebuildYesNo
Off-page contentIncludedClipped
PDM task supportYes (PDM uses Save As)No (PDM tasks use Save As path)
External software requiredNo (native)PDF printer driver needed
SOLIDWORKS supportOfficialNot supported (third-party driver)

PDM Conversion Tasks

SOLIDWORKS PDM’s built-in Convert task uses the Save As path internally. This means:

  • PDM-generated PDFs will include off-page content
  • The task triggers a rebuild when it opens the file, so PDM PDFs reflect the rebuilt state
  • There is no configuration option in the PDM task to switch to the Print path

If your PDM workflow must use Print-style PDFs (clipped to sheet, no rebuild), the alternative is a custom PDM task implemented with a C# IEdmTaskHandler that calls PrintOut4 explicitly.

Batch Automation: When to Use Each

Use Save As PDF (PrintOut4 wrapper not needed) when:

  • Generating PDFs from within a PDM batch plot pipeline
  • You need vector-quality PDFs for archiving (no image degradation)
  • Off-page content on your drawings is controlled and intentional
  • You need to match what PDM generates for consistency

Use Print to PDF (PrintOut4) when:

  • Generating supplier-facing PDFs where off-page annotations are a confidentiality risk
  • Drawings contain embedded raster images (company logos, scanned specs) that must stay crisp
  • You need an exact representation of what the drawing looks like on screen
  • Your QA workflow requires the PDF to match the printed hard copy precisely

For most shops, the right default is Print to PDF for any external deliverable. Use Save As PDF for internal archives where you want the rebuild and want the complete model state captured.

Cleaning Up Off-Page Content

Before switching to Save As PDF for external use, clear the canvas:

  1. Press Ctrl+A in the drawing to select all entities on the sheet
  2. Zoom to fit (F key) to see the full extent of content
  3. Anything outside the sheet border that gets highlighted is off-page — delete or move it onto the sheet
  4. Repeat for each sheet in a multi-sheet drawing

For large drawing sets, a macro can scan for off-page annotations and log them:

Sub FindOffPageAnnotations()
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swDraw As SldWorks.DrawingDoc
    Dim swSheet As SldWorks.Sheet
    Dim swAnn As SldWorks.Annotation
    Dim vAnns As Variant
    Dim i As Long
    Dim x As Double, y As Double

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swDraw = swModel

    swDraw.ActivateSheet swDraw.GetCurrentSheet().GetName()
    Set swSheet = swDraw.GetCurrentSheet()

    Dim sheetWidth As Double, sheetHeight As Double
    sheetWidth = swSheet.GetSize()(0)
    sheetHeight = swSheet.GetSize()(1)

    vAnns = swDraw.GetAnnotations()
    If IsEmpty(vAnns) Then Exit Sub

    For i = 0 To UBound(vAnns)
        Set swAnn = vAnns(i)
        Dim pos(2) As Double
        pos = swAnn.GetPosition()
        x = pos(0)
        y = pos(1)

        ' Flag anything outside sheet boundary (in meters)
        If x < 0 Or x > sheetWidth Or y < 0 Or y > sheetHeight Then
            Debug.Print "Off-page: " & swAnn.GetName() & _
                        " at (" & Format(x * 1000, "0.0") & "mm, " & _
                        Format(y * 1000, "0.0") & "mm)"
        End If
    Next i
End Sub

This logs any annotation positioned outside the sheet boundary. Run it before any external release workflow that uses Save As PDF.

CadShift PDF Export

When you export PDFs with CadShift’s PDF export feature, the export uses the Print path internally — so the output is clipped to the sheet boundary and images are passed at full resolution. This also means CadShift PDFs exactly match printed output, which matters for the QA sign-off step in fabrication workflows.


The short version: Save As PDF is a full model space export with a forced rebuild. Print to PDF is a sheet-bounded render that matches your screen exactly. For anything leaving your network, check your off-page content first — and if your workflow requires guaranteed sheet-bounded output without a rebuild side effect, PrintOut4 is the API path to reach for.