I think the best way to print panel is by using J2PrinterWorks library
I have used it and I liked it