Skip to content

Windows service for printing PDF files to a local or network printer in the background

License

Notifications You must be signed in to change notification settings

huysentruitw/print-it

Repository files navigation

print-it

Windows service for printing PDF files to a local or network printer in the background.

Usage instructions

  1. Download the latest release
  2. Extract the package to f.e. C:\print-it
  3. Create print-it as a Windows service from an elevated command line: sc create "PrintIt" binPath="C:\print-it\PrintIt.ServiceHost.exe" start=auto
  4. Start the service from the command line: sc start PrintIt
  5. Check if the service is listening on port 7000 by running: netstat -a | find ":7000"

API

By default, PrintIt.ServiceHost is listening on http://localhost:7000. The endpoint is configurable in appsettings.json.

[GET] /printers/list

List all available printers on the system.

[POST] /printers/install?printerPath=\\REMOTE_PC_NAME\PRINTER-NAME

Install the network printer with the UNC-path \\REMOTE_PC_NAME\PRINTER-NAME.

[POST] /print/from-pdf

To print a PDF on a given printer, post a multipart form to this end-point with the following fields:

Field Name Required Content
PdfFile ✔️ The PDF file to print (Content-type: application/pdf)
PrinterPath ✔️ The UNC-path of the printer to send the PDF to
PageRange An optional page range string (f.e. "1-5", "1, 3", "1, 4-8", "2-", "-5")
Copies An optional number of copies (defaults to 1)

PDFium

This project uses the PDFium library for rendering the PDF file which is licensed under Apache 2.0, see LICENSE.

The version included in this repository under the folder pdfium-binary was taken from https://github.com/bblanchon/pdfium-binaries/releases/tag/chromium/4194.

About

Windows service for printing PDF files to a local or network printer in the background

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages