09/14/2011, 08:57 PM
Version 1.2.1 has been released. This release contains a fix that forces GhostScript to print simplex or duplex (based on the job setting). This should hopefully resolve issues that users reported about jobs not printing single-sided or double-sided (based on the selected option on the TouchPad).
Touch2Pc Printer is a Windows application that emulates an HP printer and accepts print jobs from the TouchPad. From there, the received job is converted to PDF and optionally printed to a physical printer added to Windows.
Where can I download?
Binaries are available at: http://dl.dropbox.com/u/24894676/Tou...ter_v1.2.1.zip
Source code is available at: http://dl.dropbox.com/u/24894676/Tou...v1.2.1_src.zip
How do I run it?
- Verify that .NET Framework 4 is installed on your machine (you can check by opening Add/Remove Programs and look for "Microsoft .NET Framework 4" or something similar). If it's not installed, you can download it at Download Details - Microsoft Download Center - Microsoft .NET Framework 4 (Standalone Installer)
- Open TouchPad2PcPrinter.exe and configure the options as follows:
- If you want to print to a physical printer, select the printer from one of the drop down boxes that corresponds to the capabilities of that printer (if you have a Simplex printer that prints Color, select that printer for the “Simplex/Color” drop-down). When you print from the TouchPad and specify 1-sided color printing, the print job will be printed on the “Simplex/Color” printer that you selected. You can support up to four different printing “profiles” by selecting different printers to handle jobs that require different capabilities.
- If you are only “printing to PDF”, check the check box labeled “Print to PDF only”. This will disable the drop down boxes for the output printer. All PDF files are still in color (there’s no way to force black and white PDFs) .It might be convenient to set your Output Folder to your DropBox folder, so you can immediately view the PDF from the TouchPad.
- Click “Save”.
- Click “Start”. This will start the Touch2Pc Printer server.
- If a firewall warning dialog appears, be sure to allow Touch2Pc Printer network access (allow the firewall exception).
- On the TouchPad, open the Printer Settings application.
- Tap on “Add or remove printer”.
- Type in the IP address of your computer. If you’re not sure of your IP address, open a command prompt and type “ipconfig” and then press ENTER.
- You can name the printer whatever you want.
- You should now be able to send print jobs from the TouchPad to your computer!
Which ports need to be open?
Touch2Pc Printer requires that TCP port 9100 and UDP port 161 be open for the program to work correctly. Also, the computer that the program is running on must be pingable from the TouchPad.
How does it work?
The program does multiple things, one of which is respond to SNMP requests sent by the TouchPad to identify the "printer". Whenever the TouchPad sends SNMP requests, the program responds with information about the HP pseudo-printer. Namely, SNMP variable 22.214.171.124.126.96.36.199.188.8.131.52.7.0 is used to retrieve the device string. This is how the TouchPad determines if a printer is an HP or not (see line 27 and 29 of SnmpObjects.cs to see what exactly the program sends as the response for that variable request).
Once the TouchPad has received the SNMP response, it then presents the user with the print dialog. After the user confirms the print job, the TouchPad sends the print job (as a PCL file) to TCP/IP port 9100, which the program is listening on. The program reads in the job.
After the program has received the job, the job is then converted to either PostScript (for physical printer printing), or PDF (for "printing to PDF") using GhostPCL. If printing to a physical printer, the program calls into the GhostScript API to print the PostScript file.
I think the primary disadvantage to this solution is that you need to have a computer on the same local network running this program whenever you want to print. If you primarily use the TouchPad wherever you have a computer, that shouldn't pose a big problem.
Touch2Pc Printer is licensed under the GPL v3. However, it uses some components that are licensed under different terms (see legal.txt for details).
Thanks to McTristan for working on several stability and new feature updates.
I'd be happy to help anyone out if they encounter issues with the program.
Version 1.2.0 binaries: http://dl.dropbox.com/u/24894676/Tou...ter_v1.2.0.zip
Version 1.2.0 source: http://dl.dropbox.com/u/24894676/Tou...v1.2.0_src.zip
Version 1.1.3 binaries: http://dl.dropbox.com/u/24894676/Tou...ter_v1.1.3.zip
Version 1.1.3 source: http://dl.dropbox.com/u/24894676/Tou...v1.1.3_src.zip
Version 1.1.2 binaries: http://dl.dropbox.com/u/24894676/Tou...ter_v1.1.2.zip
Version 1.1.2 source: http://dl.dropbox.com/u/24894676/Tou...v1.1.2_src.zip
Version 1.1.0 binaries: http://dl.dropbox.com/u/24894676/Tou...inter_v1.1.zip
Version 1.1.0 source: http://dl.dropbox.com/u/24894676/Tou...r_v1.1_src.zip
Version 1.0.0 binaries: http://dl.dropbox.com/u/24894676/tou...daemon_bin.zip
Version 1.0.0 source: http://dl.dropbox.com/u/24894676/tou...mon_source.zip