Windows service for printing PDF files to a local or network printer in the background
Windows service for printing PDF files to a local or network printer in the background.
sc create "PrintIt" binPath="C:\print-it\PrintIt.ServiceHost.exe" start=auto
sc start PrintIt
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 | :heavy_check_mark: | The PDF file to print (Content-type: application/pdf) |
PrinterPath | :heavy_check_mark: | 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.