@Jakodns, if a commercial solution is not a problem for you. (There is a 30-day trial)
Basic video tutorial: https://www.youtube.com/watch?v=wPKoTD-nRWs&list=PLDF2C2AD95B2B2FC2&index=27
The idea is that you simply create a profile with 2 printer channels, each time the same printer. We will configure channel 1 to print for .docx files and channel 2 for .pdf files.
- Download and install the Ricoh Print&Share trial
- Open the software and go to the [Change] button on the upper right corner
- Click [New] to create a new Profile.
- Give the profile a name and add 2 channels: Channel 1 -> Printer and Channel 2 -> Printer
- Configure Printer Channel 1 for .docx (so simplex Printing should be enabled)
- Do the same for Printer Channel 2 but configure it for .pdf files in Duplex.
- Now in the [Profile] dialog where you added channels there is also a [Trigger points] button, click it.
- There, for both channels, enable the option [Only execute when document is printed from the following application]. You can click the [...] button to change or add regular expressions.
- Click OK to close all dialogs and at the [Profiles] dialog, select your newly created dialog, set it as [Default] and click [Use and Close].
And that's it. The only requirement is that if you print that there is something in the print job name that you know that .pdf or .docx files are being printed.
For example if you print from notepad you often see "Untitled - Notepad". This name "Notepad" is the name of the application and you could use it in your regular expression to detect that it was printed from "Notepad". So if you are lucky you will maybe see that printing a .docx file contains "Word" or ".docx" in the name to use for your detection. But that depends on how each application prints.
If you know for example that each pdf file is always starting with "My Report" as in "My Report 04545 - 2016 06 ABC" you could use "My Report" maybe for your detection. This is fully up to you, be creative :-)
If you are not familiar with regular expressions, it is basically a language to search terms in a text/string.
Hope this helps!