[CTRL]+[p]

Holding down the [Control] and [p] keys on your keyboard gives you the printing dialog. Or you can use the showprintbutton API to show a print icon to your users.

Mozilla Firefox printing guidelines can help you improve prints.

Helping us support you

For our customers, please print out the "Printer Settings" report and send it to us (a good capture from your mobile is usually sufficient) together with your printer query.

printer= API to declare your network printers to Webconverger

the printer= API has syntax like so:

printer=printer name,device URI,driver URI

For example a Ricoh Aficio SP 4310N with PPD on IP 192.168.1.5 might be setup like so:

printer=lab1,http://192.168.1.5/printer,http://prefs.webconverger.com/2013/ricoh.ppd

A Dell B2360dn laser printer example could be:

printer=DellPrinter,socket://10.0.6.34,http://prefs.webconverger.com/2015/Dell_B2360d-dn_Laser_Printer.ppd

Instead of specifying a remote PPD, you should ideally use the internal (generic) drivers: "drv:///sample.drv/generpcl.ppd" (older PCL) or "drv:///sample.drv/generic.ppd" (Postscript) as described by lpinfo -m.

For example a network printer 192.168.1.10 named "helpdesk" with dns name printer is very likely to have some form of PCL support:

printer=helpdesk,socket://printer,drv:///sample.drv/generpcl.ppd

However if your printer supports PostScript (it really should!), you might find using the "Generic PostScript Printer" driver drv:///sample.drv/generic.ppd result in better quality prints. Modern printers might support lsb/usr/cupsfilters/Generic-PDF_Printer-PDF.ppd which one can think of as a modern form of "postscript".

You can have multiple printer= lines and hence give your users several printers to print to.

Webconverger requires a network printer

Buy a printer with a network port. These printers are generally more expensive and generally have Postscript/PDF printing support built in. Some do not have a print server or are simply buggy, so make sure you purchase it with a good exchange / refund policy.

http://www.cups.org/documentation.php/network.html

Discovering the "device URI" can be alarmingly difficult. Usually socket://$PRINTER_IP_ADDRESS will probably work. If in doubt send your printer setup page to support.

Using a CUPS server with (attached) printer shared upon it

Buy a printer and attach it to a MacOSX / Ubuntu / Windows PC. Proceed to install drivers and most importantly the CUPS print server software. Then configure the CUPS server to be shared upon the network.

Add your printer to the client using the printer= API, using the an appropriate device URI.

prefs= API to remove default header and footer when printing Web pages

pref("print.print_headerleft", "");
pref("print.print_headercenter", "");
pref("print.print_headerright", "");
pref("print.print_footerleft", "");
pref("print.print_footercenter", "");
pref("print.print_footerright", "");

Notice that these settings have no effect when printing a PDF.

Or just add to your configuration: prefs=http://prefs.webconverger.com/2015/no-header-or-footer.js

Printing PDFs

Setting default paper type to US legal

pref("print.print_paper_name", "na_letter");
pref("print.print_paper_size_type", 1);
pref("print.print_paper_size_unit", 0);
pref("print.print_paper_width", "  8.50");
pref("print.print_paper_height", " 11.00");

Printing to a PDF file to a remote machine on your network

The cups-pdf package allows you to setup a "Virtual Print" server on your network that write out PDFs on your server's spool directory.

This is useful for archiving, debugging and allowing you to manually check what does and does not get printed.

Assuming you have a permissively configured CUPS server (not Webconverger, an Ubuntu install for example) with cups-pdf installed, you need to figure the IP address or name (e.g. 192.168.0.1) of your print server, that can be accessed by your clients. To find the device URI of your CUPS printer, it's the "Queue Name" URL in the Administration Tab → Manage Printers, see the highlighted device URI screenshot.

Once you know the printer's device URI, you then setup your Webconverger clients like so:

printer=PDF,http://192.168.0.1:631/printers/Virtual_PDF_Printer,lsb/usr/cupsfilters/Generic-PDF_Printer-PDF.ppd

On the print server, you should be able to see "Send-Document successful-ok" whilst viewing the log like so tail -f /var/log/cups/access_log.

Advanced debugging

https://fedoraproject.org/wiki/How_to_debug_printing_problems

Assuming you are running a Virtualbox instance, sharing a bridged adaptor. On the host 192.168.1.3 with the Virtualbox on 192.168.1.136:

sudo tcpdump -w /tmp/foo.pcap -s 0 -n -i wlan0 dst 192.168.1.136 and not port 53
wireshark -r /tmp/foo.pcap

lpstat -t is a good way to list CUPS printers to see how they are configured on a running Webconverger system.

Use cups-bsd to spool a job from the command line using lpr.