> For the complete documentation index, see [llms.txt](https://doc.sysdevmobile.com/miscommunicator/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.sysdevmobile.com/miscommunicator/print-pdf.md).

# Print PDF

When executing the action **Print PDF On Server** from Kalipso, to Print a PDF file using MISCommunicator there are 2 alternatives of executing the print command.

### 1-ShellExecute

The default way MISCommunicator will use to print a PDF file will be issuing a Shell Print command.\
This is equivalent for the user to right click on a PDF file and select the "Print" option.\
This will use the default application on the system configured to print PDF files that has 2 main issues:

* It may open a user interface waiting for some user confirmation to print, which is incompatible with MISCommunicator being executed as a service
* It will probably output the printing to the default system printer, ignoring the parameters received from the **Print PDF On Server** action.

For these reasons, option 2 is normally preferred.

### 2-Using PDFtoPrinter

You can use the PDFtoPrinter.exe file available here:\
<http://www.columbia.edu/~em36/pdftoprinter.html>

To enable this option, all you have to do, is put the PDFtoPrinter.exe file in the same folder as MISCommunicatorEngine.exe.\
When MISCommunicator receives the request from **Print PDF On Server**, it will check if this file exists in the same folder and if it does, it will make the print request issuing a command line request, and in this case the printer name received will be used, and there is no user interface required for the command to be executed.
