Included in every Windows download

Quantum Steel PDF Rescue has a CLI.

Use cli\PdfToDxf.Cli.exe for batch files, PowerShell scripts, scheduled jobs, and conversions that need repeatable settings.

It runs locally and needs no account, API key, subscription, cloud service, or separate .NET installation.

Quick start

Extract the ZIP, then open PowerShell in that folder.

Download Desktop + CLI
VERSION v0.2.0-beta.3
.\cli\PdfToDxf.Cli.exe --help

.\cli\PdfToDxf.Cli.exe convert "C:\Drawings\plan.pdf" `
  --output "C:\Drawings\DXF" `
  --dxf-version r2000 `
  --keep-both

.\cli\PdfToDxf.Cli.exe convert .\plan.pdf `
  --pages 1-3,8 `
  --units in `
  --scale 48 `
  --cad-cleanup

Safe by default

If a DXF or JSON report name already exists, the command exits without replacing it. Add --keep-both for numbered names or --overwrite only when replacement is intentional.

Useful conversion flags

Select pages, inches or millimeters, R12/R14/R2000, curve handling, scale, tolerances, CAD cleanup, native curves, text blocks, repeated blocks, and experimental dimension recognition.

Inspection and comparison

Use inspect to check a PDF's page count. Use compare to measure a converted page against an external reference DXF and write a machine-readable difference report.

Build a repeatable run

Keep input, output, and review records separate

A repeatable command is useful only when you can identify the source issue and understand the settings that produced the result.

Start with one representative page

Run the installed program's help, then convert a small sample with known dimensions. Record the application version, selected pages, units, scale, DXF version, and any cleanup settings. Verify the sample in the receiving CAD application before processing the rest of the set.

Use a dedicated output directory

Preserve the original PDFs. Put recovered files in a separate directory for that run, with the source issue and settings recorded alongside them. Keep generated reports with their DXFs so warnings and source filenames remain traceable.

Choose collision behavior deliberately

The default refusal to replace an existing DXF or report protects earlier output. --keep-both is useful for comparison runs because it retains both results. Use --overwrite only when the destination is an intentional replacement target and the previous result is no longer needed.

PowerShell example

Process a local input folder and stop on a failed conversion

This example uses the documented convert command and keeps each PDF's output in a separate folder. It does not upload files or schedule a background task.

Get-ChildItem -LiteralPath .\Inputs -Filter *.pdf -File | ForEach-Object {
    $qsdOutput = Join-Path .\Recovered $_.BaseName
    & .\cli\PdfToDxf.Cli.exe convert $_.FullName `
        --output $qsdOutput `
        --dxf-version r2000 `
        --keep-both
    if ($LASTEXITCODE -ne 0) {
        throw "Conversion failed. Review the CLI output before continuing."
    }
}

Run this from the extracted application folder after creating an Inputs folder containing only the intended PDFs. The example leaves the default units and scale in place; add the settings you have verified for the source set rather than assuming every drawing uses the same scale. Folder enumeration here is not recursive.

A successful process exit means the command completed, not that the DXF is approved for its intended use. Review the generated reports and inspect critical geometry. Keep a record of skipped or failed PDFs instead of treating the presence of some output files as a complete batch.

Before a downstream handoff

Check the result, not only the command line

The browser recovery guide explains common scale, text, and raster limitations. The desktop edition has additional options, so the help from the exact installed release controls its command syntax. Use the handoff builder for separately maintained project records; it does not run desktop conversions or attach the original PDFs.

Every installed version is authoritative

Run --help for the exact options in your download.