Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ISC Logo

Release Windows

vprint

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.

Preview

Choose profile and copies Summary once sent
Print dialog with profile and number of copies Summary window listing the printed files

Features

  • 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

Installation

  1. Install the .NET 10 Desktop Runtime (once per computer), from a terminal:

    winget install Microsoft.DotNet.DesktopRuntime.10
  2. Download vprint-<version>-win-x64.zip from the latest release and extract it anywhere.

  3. Run the installer from the extracted folder:

    powershell -ExecutionPolicy Bypass -File install.ps1

    It copies vprint to %LOCALAPPDATA%\Programs\vprint and adds it to your PATH. It also creates the Send to entries and prints a block to paste into SumatraPDF. Open a new terminal afterwards so the vprint command is found.

  4. Choose your printer. List the printers, then put the exact name in %APPDATA%\vprint\profiles.yaml under printer::

    vprint printers
    notepad %APPDATA%\vprint\profiles.yaml
  5. 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
  6. SumatraPDF (optional). Open Settings → Advanced options… and paste the ExternalViewers [...] block printed by the installer. It replaces an existing ExternalViewers block, 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.

Everyday use

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

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.

Troubleshooting

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.


License

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

About

Vector PDF printing on Windows with per-document profiles (n-up, stapling, duplex) — Send To and SumatraPDF integration

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages