Windows service for printing PDF files to a local or network printer in the background.
- Download the latest release
- Extract the package to f.e. C:\print-it
- Create print-it as a Windows service from an elevated command line:
sc create "PrintIt" binPath="C:\print-it\PrintIt.ServiceHost.exe" start=auto
- Start the service from the command line:
sc start PrintIt
- Check if the service is listening on port 7000 by running:
netstat -a | find ":7000"
By default, PrintIt.ServiceHost is listening on http://localhost:7000. The endpoint is configurable in appsettings.json.
List all available printers on the system.
Install the network printer with the UNC-path \\REMOTE_PC_NAME\PRINTER-NAME
.
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) |
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.