Sharp PDF printing on Windows, one click per document type. Many PDF readers, SumatraPDF included, turn every page into an image before sending it to the printer, so small text and fine lines come out soft. vprint sends text and drawings to the printer as vector graphics. It also applies the right settings for each kind of document: slides 4 per sheet in landscape and stapled, lab sheets A4 double-sided and stapled, and so on. You keep your usual reader and print from Explorer's Send to menu or with a SumatraPDF shortcut.
| Choose profile and copies | Summary once sent |
|---|---|
![]() |
![]() |
- Vector output — text and drawings stay sharp at any size, even 4 slides per sheet
- Profiles per document type — layout, stapling, double-sided, paper and tray chosen automatically from the file name or the page format
- 4 slides per sheet — or any grid (
2x2,3x2…), still vector - Your printer's own settings — each profile remembers the settings you pick once in the usual printer dialog, stapling and finishing included
- Number of copies on demand — a small dialog asks for the profile and the number of copies, each copy is collated and stapled separately
- Explorer and SumatraPDF — right-click → Send to, or a keyboard shortcut in SumatraPDF, one or many files at once
- Quiet — progress window while sending, then a summary that closes by itself, no system sound
-
Install the .NET 10 Desktop Runtime (once per computer), from a terminal:
winget install Microsoft.DotNet.DesktopRuntime.10
-
Download
vprint-<version>-win-x64.zipfrom the latest release and extract it anywhere. -
Run the installer from the extracted folder:
powershell -ExecutionPolicy Bypass -File install.ps1
It copies vprint to
%LOCALAPPDATA%\Programs\vprintand adds it to yourPATH. It also creates the Send to entries and prints a block to paste into SumatraPDF. Open a new terminal afterwards so thevprintcommand is found. -
Choose your printer. List the printers, then put the exact name in
%APPDATA%\vprint\profiles.yamlunderprinter::vprint printers notepad %APPDATA%\vprint\profiles.yaml
-
Record the printer settings of each profile. The usual printer dialog opens: pick orientation, double-sided, stapling… and click OK. Do this once per profile:
vprint capture slides # e.g. landscape, stapled vprint capture labo # e.g. A4, double-sided long edge, stapled
-
SumatraPDF (optional). Open Settings → Advanced options… and paste the
ExternalViewers [...]block printed by the installer. It replaces an existingExternalViewersblock, if any. Restart SumatraPDF.
To update, download the new zip and run install.ps1 again: profiles and recorded settings are kept. To uninstall, run uninstall.ps1 from the same folder.
| Where | How | What happens |
|---|---|---|
| Explorer | Right-click one or more PDFs → Send to → Imprimer (vprint, choisir…) | Dialog: profile and number of copies |
| Explorer | Send to → Imprimer (vprint auto) | Prints right away, profile chosen automatically |
| Explorer | Send to → Imprimer (vprint slides), (vprint labo)… | Prints right away with that profile |
| SumatraPDF | Ctrl+Shift+C | Dialog: profile and number of copies |
| SumatraPDF | Ctrl+Shift+P | Automatic profile |
| SumatraPDF | Ctrl+Shift+1, 2… | One shortcut per profile, in the order of profiles.yaml |
| Terminal | vprint print cours.pdf --copies 2 |
Same thing from the command line, see vprint help |
A progress window stays open while vprint sends the document. Wait for the summary before sending the same file again. Large slide decks full of pictures can take a minute. The summary closes after a few seconds. Move the mouse over it to keep it open.
Profiles live in %APPDATA%\vprint\profiles.yaml. The first run creates this file with two examples, slides and labo. Edit it with any text editor. The next print picks up the changes.
printer: '\\server\Printer-Queue' # exact name from `vprint printers`
default: labo # used when no rule matches
profiles:
slides:
description: Slides 4 per sheet, A4 landscape, stapled
match:
name: ['*slides*'] # file name patterns
aspect: ['16:9', '4:3'] # or: first page has this format
nup: 4 # pages per sheet, or a grid such as '3x2'
sheet: A4L # A4 landscape (A3, A4, A5, Letter; L = landscape)
labo:
description: Lab A4 double-sided, stapled
match:
name: ['*labo*', '*TP*']
path: ['*/Labs/*'] # folder patterns| Setting | Default | Meaning |
|---|---|---|
printer |
Windows default printer | Printer for all profiles; can also be set inside a profile |
default |
— | Profile used when no rule matches |
match.name |
— | File name patterns, * and ?, case-insensitive |
match.path |
— | Same, on the full path, to pick a profile by folder |
match.aspect |
— | Format of the first page, e.g. 16:9 for slides |
nup |
none | Pages per sheet: 4, 2, 3x2… |
sheet |
A4, oriented like the first page | Sheet size when nup is used |
margin, gutter |
5, 4 |
Sheet margin and space between pages, in millimetres |
border |
false |
Thin grey frame around each page on the sheet |
scale |
shrink |
actual 100 %, shrink only when too large, fit fills the printable area |
Profiles are checked from top to bottom, and the first one with a matching rule wins. To add a profile, add a block under profiles:, then run vprint capture <name>. Re-run install.ps1 to get a Send to entry for it.
| Symptom | What to do |
|---|---|
| "Réglages enregistrés refusés par le pilote" | The printer driver was updated: run vprint capture <profile> again |
| No stapling or no double-sided | Check the options in vprint capture <profile>; the stapler must also be enabled in the driver's installable options |
| Nothing seems to happen | See %APPDATA%\vprint\vprint.log, every print and every error is written there |
| Wrong profile chosen | vprint detect file.pdf tells which profile is chosen and why |
| Check the 4-per-sheet layout without paper | vprint preview file.pdf -o check.pdf, or vprint print file.pdf --dry-run |
| Same document queued twice | With a hold-and-release queue (FollowMe, PaperCut…), delete the extra job at the printer |
For building from source, the architecture and the diagnostic commands, see docs/TECHNICAL.md.
Copyright © 2026 P.-A. Mudry / ISC — HES-SO Valais. Released under the MIT License. The release zip bundles PDFium as built by bblanchon/pdfium-binaries. Its licences (BSD-3-Clause and those of its third-party components) are in licenses/pdfium/ inside the zip.
Made with ♥ by mui, 2026

