Error printing textField with BevelFilter.

Hi,
I have a movie clip with a TextField that has a BevelFilter.
When I run my movie everything is OK, but when I use the PrintJob
to
send it to the printer it seems the textfield has lost filter
properties. In the page printed by the printer has the textfield
without the BevelFilter. Why????? Could anyone help me???
I need to solve this problem as soon as possible.
Thanks for everything.

Turns out this whole thing was nothing to do with CUPS, but resulted from my root partition filling up.
Embarrasing or what?
Sorry
Andrew

Similar Messages

  • Error printing with Windows 7 even after unistallin​g old and installing new driver

    I recently updated to 64-bit Windows 7 and cannot get my HP OfficeJetJ4580 working after the upgrade.  I uninstalled all prior printer drivers and ran the recommended software from the HP site to ensure there were no remaining drivers on my system, then installed the updated drivers for use with WIndows 7.  The driver isntallation said it was successfula dn that my printer was ready for use.
    When I try to print, the job is sent to the print que.  The print que immedialtely notes "Error printing" and deletes the job from the que.  The printer never responds or tries to print.  This happens with anything I try to print, including a test page.  No error message is dispalyed on my screen.  The only way I can see the error is by opening up the print que and looking at the pending jobs.  I went to the HP support center and downloaded and ran the printer diagnostic sofware they had on there.  It could not detect any problems with the printer. 
    I am at a complete loss as to what to try next.

    Hello PPN, and welcome to the HP Forums, I hope you enjoy your experience!
    I see you are running into installation issues.  I would like to help.
    I would suggest Uninstalling the Printer Software.
    Once it is uninstalled, I'd recommend putting your system into clean boot mode within the Microsoft configuration.  You can do so by following this document: How to perform a clean boot in Windows.
    After the computer has been put in clean boot mode, I would suggest reinstalling the HP Printer Install Wizard for Windows.
    Good luck and please let me know the results of your troubleshooting steps. Thank you for posting on the HP Forums!
    Please click “Accept as Solution " if you feel my post solved your issue, it will help others find the solution.
    Click the “Kudos, Thumbs Up" on the right to say “Thanks" for helping!
    Jamieson
    I work on behalf of HP
    "Remember, I'm pulling for you, we're all in this together!" - Red Green.

  • 306 Error Printing with Time Capsule 2TB

    I just upgraded from a 1st Generation Time Capsule (500GB) to a 4th Generation Time Capsule (2TB).  I have a Canon MP600 printer connected via USB to the Time Capsule.  In my previous setup, this worked flawlessly and other computers on the network could print to this device.  With the new setup, I'm receiving a 306 Error printing to the printer via the new Time Capsule. 
    I have:
    Reset the printer system information.
    Rest the TC to default settings, attached the USB for the printer, and restarted the device.
    Tested the USB direct connection to my printer (works fine).
    I feel like this has to be related to the new TC...wondering if I've got a setting mixed up.
    Any help would be great - I've reviewed most of the postings related to this subject, but this one feels different as it involves an upgrade to new TC and I'm not trying to use a wireless printer. 
    Bryant

    First, restart your MacBook Pro and your Time Capsule. This solves the problem in most of the cases.
    If it doesn't work, see > http://pondini.org/TM/C12.html

  • My 7200 says "error printing" in our new comp with 7. i did download 2 x the 7 downloads.

    I can't get our HP7200 to print. I did the new windows 7s downloads but all I get in the printer box is the job title and "error-printing." Test page is the same. All ink is good. In fact, the printer worked fine last week but not with our new Dell laptop.

    Did you try updating iTunes to 11.1?

  • "Error - Printing" for only certain PDFs to certain printers with Reader 10.1.3

    One of my users is unable to print specific PDF files to a particular printer.  The same PDFs will print to other printers successfully from the Windows 7 machine.  But, for certain PDF files the printer queue will show status = "Error - Printing".  We have tried to print as image, saved the PDFs as different filenames but it still fails.  There seems to be no pattern for the PDF types.  One PDF is a scanned document and another is not scanned.  The machine is able to print most other PDF files just fine to this printer and can print successfully from all other applications except for Reader 10.1.3 for these certain PDF files.  The printer driver has been updated to the latest.  The printer is a Xerox DocuCenter-IV 2060.  AR 10.1.3 has been re-installed.
    The PDF files in question open fine and can be viewed in their entirety (i.e. they don't appear to be corrupt).  The fonts used are not any different from others used in PDFs that DO print ok.  This is a complete mystery so, if anyone has ideas, please pass them along.  Thanks so much

    This is a public forum; please do not post your email address or other private information.
    Regarding your issue; it appears you have already tried everything possible - I have no other ideas what to try with 10.1.3.
    The only solution for now I can see is to revert back to 9.5.1; is this a problem for you?  This should be only temporarily until a new version of 10.x or 11.x becomes available.

  • Printing problems with hp laserjet cp1515n [found problem]

    Dear Arch users,
    A couple of weeks ago I installed for the first time an Arch linux on my brand new Dell laptop with an UEFI MB. It took a while until I could understand how UEFI works but eventually I sort it out and got Arch installed. Unfortunatelly there are some small problems to be straiten out. One of them is the fact that printing with my laser printer (see subject line) is not working.
    for the last couple of days I was searching through all post I could find around on the internet, mainly here at the Arch forum. Unfortunatelly I could not find anything nearly describing what I am living on my system. Well here is a brief description of what is happening. After installing Arch, I opted for KDE desktop environment and I made the full instalation. After installing additional software (gimp, inkskape, etc.) I needed to install my printer. At first I couldn't get permission. Than reading the Arch tutorial for CUPS, I saw that the 'lp' permission was not setup properly. Well Have done as described there. Then I tryed to install using the GUI from KDE for installing an usb printer and for my surprise there was not such an option. I intalled than de hp-toolbox, and than it was easy to install the printer. It was automatically recognized and everything was there. The problem was, when I open an archive (text, web page, doesn't matter) and send it to print, the spooler went well theoretically sent to printer and then popped up a notification saying printing finished. Opening the printing cue, I can see that the archive was still there and marked as pending. That was the point where I started to search around for potential solutions or similar solutions.
    After sudying a lot I came to a conclusions that it probably have something to do with permissions. Unfortunately I could not find out where or which permissions to change in order to get something printed. I found some "debugging" and information commands and I am posting the results here;
    # systemctl status cups
    cups.service - CUPS Printing Service                                                                                     
              Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled)                                                 
              Active: active (running) since Tue 2013-01-29 13:26:21 BRST; 4h 43min ago                                     
            Main PID: 525 (cupsd)                                                                                           
              CGroup: name=systemd:/system/cups.service                                                                     
                      └─525 /usr/sbin/cupsd -f                                                                               
    Jan 29 17:39:46 XXXX-archs hp[12186]: io/hpmud/musb.c 588: invalid usb_open: Permission denied                           
    Jan 29 17:40:14 XXXX-archs systemd[1]: Started CUPS Printing Service.                                                   
    Jan 29 17:43:27 XXXX-archs systemd[1]: Started CUPS Printing Service.                                                   
    Jan 29 17:44:19 XXXX-archs systemd[1]: Started CUPS Printing Service.
    Jan 29 17:44:26 XXXX-archs systemd[1]: Started CUPS Printing Service.
    Jan 29 17:44:51 XXXX-archs systemd[1]: Started CUPS Printing Service.
    Jan 29 17:45:05 XXXX-archs systemd[1]: Started CUPS Printing Service.
    Jan 29 17:56:35 XXXX-archs systemd[1]: Started CUPS Printing Service.
    Jan 29 17:56:36 XXXX-archs systemd[1]: Started CUPS Printing Service.
    Jan 29 17:56:36 XXXX-archs systemd[1]: Started CUPS Printing Service.
    # systemctl status cups.socket
    cups.socket - CUPS Printing Service Sockets
              Loaded: loaded (/usr/lib/systemd/system/cups.socket; enabled)
              Active: active (running) since Tue 2013-01-29 13:26:10 BRST; 4h 45min ago# /usr/lib/cups/backend/usb
    DEBUG: list_devices
    DEBUG: libusb_get_device_list=10
    DEBUG2: Printer found with device ID: MFG:Hewlett-Packard;CMD:PJL,PML,PCLXL,POSTSCRIPT,PCL;MDL:HP Color LaserJet CP1515n;CLS:PRINTER;DES:Hewlett-Packard Color LaserJet CP1515n;MEM:MEM=55MB;COMMENT:RES=600x8; Device URI: usb://HP/Color%20LaserJet%20CP1515n?serial=00BRAS85501Y
    direct usb://HP/Color%20LaserJet%20CP1515n?serial=00BRAS85501Y "HP Color LaserJet CP1515n" "HP Color LaserJet CP1515n" "MFG:Hewlett-Packard;CMD:PJL,PML,PCLXL,POSTSCRIPT,PCL;MDL:HP Color LaserJet CP1515n;CLS:PRINTER;DES:Hewlett-Packard Color LaserJet CP1515n;MEM:MEM=55MB;COMMENT:RES=600x8;" ""
    Jan 29 13:26:10 XXXX-archs systemd[1]: Starting CUPS Printing Service Sockets.
    Jan 29 13:26:10 XXXX-archs systemd[1]: Listening on CUPS Printing Service Sockets.
    # lsusb
    Bus 001 Device 003: ID 03f0:4417 Hewlett-Packard EWS UPD
    Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 003 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
    Bus 003 Device 004: ID 0c45:648d Microdia
    Bus 004 Device 004: ID 0cf3:e004 Atheros Communications, Inc.
    # /usr/lib/cups/backend/usb
    DEBUG: list_devices
    DEBUG: libusb_get_device_list=10
    DEBUG2: Printer found with device ID: MFG:Hewlett-Packard;CMD:PJL,PML,PCLXL,POSTSCRIPT,PCL;MDL:HP Color LaserJet CP1515n;CLS:PRINTER;DES:Hewlett-Packard Color LaserJet CP1515n;MEM:MEM=55MB;COMMENT:RES=600x8; Device URI: usb://HP/Color%20LaserJet%20CP1515n?serial=00BRAS85501Y
    direct usb://HP/Color%20LaserJet%20CP1515n?serial=00BRAS85501Y "HP Color LaserJet CP1515n" "HP Color LaserJet CP1515n" "MFG:Hewlett-Packard;CMD:PJL,PML,PCLXL,POSTSCRIPT,PCL;MDL:HP Color LaserJet CP1515n;CLS:PRINTER;DES:Hewlett-Packard Color LaserJet CP1515n;MEM:MEM=55MB;COMMENT:RES=600x8;" ""
    # lpinfo -v
    network ipps
    network smb
    direct hp
    network socket
    network http
    network ipp
    file cups-pdf:/
    network lpd
    network beh
    network https
    direct ptal
    direct hpfax
    # usb-devices
    T:  Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#=  3 Spd=480 MxCh= 0
    D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
    P:  Vendor=03f0 ProdID=4417 Rev=01.00
    S:  Manufacturer=Hewlett-Packard
    S:  Product=HP Color LaserJet CP1515n
    S:  SerialNumber=00BRAS85501Y
    C:  #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr=2mA
    I:  If#= 0 Alt= 0 #EPs= 2 Cls=07(print) Sub=01 Prot=02 Driver=(none)
    I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
    The out put from the last command (usb-devices) I only copyed the relevant part from the printer in question.
    the couple of last lines of CUPS error.log are;
    E [29/Jan/2013:17:44:48 -0200] [Job 14] Stopping unresponsive job.
    E [29/Jan/2013:17:52:25 -0200] [Client 14] Request for subdirectory "/admin/log/error_log?".
    E [29/Jan/2013:17:52:41 -0200] [Client 14] Request for subdirectory "/admin/log/error_log?".
    E [29/Jan/2013:18:05:47 -0200] [cups-deviced] PID 14408 (dnssd) stopped with status 1!
    E [29/Jan/2013:18:16:37 -0200] [cups-deviced] PID 15151 (dnssd) stopped with status 1!
    I hope somebody could help me out to find where to change permission (if necessary) or point me out to an different road.
    Thanks
    Last edited by camarao (2013-02-08 02:36:36)

    OK here am I again.
    as mentioned before I created an bogus printer with:
    lpadmin -p test -v file:/dev/null
    verified the presence of the printer;
    lpstat -p
    $ lpstat -p
    printer Color_LaserJet_cp1515n disabled since Fri 01 Feb 2013 02:55:59 PM BRST -
            reason unknown
    printer hp930c is idle.  enabled since Thu 31 Jan 2013 11:30:21 PM BRST
    printer test is idle.  enabled since Fri 01 Feb 2013 02:54:57 PM BRST
    At first "test" printer was disabled for an uknown reason.
    tried to use lpadmin -p test to enable the printer as described on the previusly mentioned web site, but couldn't get to enable printer "test". After reading alittle more on the internet I found the command cupsenable <printer> and indeed it changed the printer status.
    tried to print;
    echo test | lp -d test
    result:
    $ echo test | lp -d test
    lp: Destination "test" is not accepting jobs.
    I tried to change the condition of the Color laser printer but did not made any difference with the cups command.
    Conclusion: how can I modify this status to make the printer accept jobs?

  • Printing problem with Photoshop CS 6 extended and HP printer

    Hi all, long time browser, first time poster.
    This is a weird issue, it should be noted from the first that I only have weird computer issues. I work at a technical High School where we have the whole Adobe CS6 Extended suite installed. We are running it under a fully patched version of Windows 7 and all the CS6 updates have been applied on 25 machines that all have the same issue. The problem is that when the students go to print to our HP Color Laser jet CP6015DN, the job can been seen loading into the queue, it races up to about 45MB, then sort of strolls to load the rest of the document, usually about 59 to 75 MB's in size. Then I watch the message go to processing, the front panel of the printer says processing, then the print job disappears from the printer queue and the printer and there is no print out. I printed out the usage job log and it shows none of the failed attempts to print and I check the event log page which does not show the errors either.
    Looks like a bad printer driver, right? So I download the new HP Universal printer driver, I normally do not do the Universal driver route as so many of my older printers have problems with it, but the CP6015DN seems to have trouble accessing the extended tray 5 with the specific drivers, but I have the same printing issue with the new Universal driver and the PS driver. So I wander through the HP manual and it suggests using profiles to print to the printer and move the color handling from Printer Manages Colors to Photoshop manages colors and I track down the ICC profiles for the printer on the HP site as the link in the book is dead, so try the CP6015srgb_d50.icc, CP6015_cmyk_d50.icc and CP6015.icc, I try all of these profiles with the newest PS printer driver and the same error, goes to the printer and into the bit bucket. Still no printout or error message.
    Strange thing is that if I do a test print, it prints fine, if I open a tif file in Photoshop, it prints fine, now the teacher says if they print to the Xeorx 7760 in the next room, it also prints out fine. It should be noted that we had so many issues with configuring the Xerox and adjusting controls it was the reason we purchased a HP proofing printer in the first place. But the next door lab is all Apple, which doesn't seem to have this issue. So I open the test document and save it as a PDF file instead the native Photoshop format, and it prints fine, which from what I've been reading on the internet may be the preferred way of printing proofs, I don't know, I've never really used Photoshop, but the teacher says this isn't an acceptable fix and the students should be expected to manage a number of revisions saved to PDF format, me I just go up a number at the end of the file name for every correction when editing documents.
    Any suggestions you have would be appreciated.
    Windows 7 X64
    Photoshop version 13.0.1 x64
    HP Color Laserjet CP6015 DN model number Q3932A
    Dell Optiplex 980 i5-650,  3.2Ghz, 8 GB RAM.

    Yes, Photoshop is up to date at Version 13.0.6.  I have even gone so far as to uninstall CS 6 and put CS 5 back on and still the same thing.  This is really frustrating, the people at Canon try to be helpful but wind up saying it's an Adobe problem and of course you can't talk to real people anymore about CS 6.  My research on the Internet has turned up nothing so I'm stuck.

  • My reminders are gone from my Ical since upgrade.  What do I need to do to input reminders in Ical and be able to print reminders with my ical.  Thank you

    My reminders are gone from my Ical since upgrade.  What do I need to do to input reminders in Ical and be able to print reminders with my ical.  Thank you

    I totally agree.  I just wasted .5 hrs trying to figure out how to manipulate and sync the reminders with the iCAl.  Thanks for posting this thread online, I can stop wasting my time now.  Apple, please change it back or make these apps sync. 
    Side note.  I was creating my to do list and found the ability to asign a date by draging the task to the calendar in the bottom right.  Then I discovered that I can drag that same reminder/to-do task into iCal and it will be created as an event. Would be great if I could simply sync the reminders to iCal instead of draging them over though.  Then when I make the change in one the other can update with the next sync.  This also prevents human error if I drag and drop the reminder onto the wrong date in iCal.

  • Can't print over network get message "Error Printing" in message Queue

    Hi,
    I have 3 machines, xp, vista and windows 7.  I have 2 printers that are configured to print through the network
    1. OfficeJet Pro L7680
    2. PhotoSmart C7180
    For all 3 computers I can go to the web configurations for the printers (so I know the network settings are correct).  Windows finds the printer and properly installs the drivers using the TCP/IP network port.
    I can only print to the PhotoSmart from the Vista computer.  I can't print from the XP or Windows 7 machine, I can't printer to the OfficeJet Pro from any computer.
    Both printers work on all computers via USB port.
    when I try to print a test page the job stays in the print queue and gets a message "Error Printing".
    The funny part is that the computer can communicate with the printers and get the ink levels no problem.
    I have been banging my head on the wall and cannot figure it out.
    Any Suggestions?
    Thanks,
    Ara

    I think I figured it out after torchering my self for weeks.
    I had my computers and printers hooked up directly or wireless through a linksys WRT610N router.  I decided to add a linksys switch right after the router and plugged the computer and printers in through the switch and now it works.
    This is very strange, there must be somekind of incompatibility with the WRT610N router that is causing the problem, it works but refused to print for some reason.  I tried changing settings in the router but haven't got it to work.
    Any clues on what it could have been with the router?
    Thanks,
    Ara

  • Print JTable with Multiple pages and rows

    I took the printing example at http://java.sun.com/developer/onlineTraining/Programming/JDCBook/advprint.html#pe and modified it a bit to include the following:
    1) To Print Multiple pages
    2) To wrap lines that is too long for the column
    3) To print with a more proffesional style, so that it doesn't look like a screen capture is printed
    4) To align the numbers to the right and center column headings
    import javax.swing.*;
    import javax.swing.table.*;
    import java.awt.print.*;
    import java.util.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import java.awt.Dimension;
    import javax.print.*;
    import javax.print.attribute.*;
    import javax.print.attribute.standard.*;
    import java.text.*;
    public class Report implements Printable
         private final int LEFT_ALIGN = -1;
         private final int CENTER_ALIGN = 0;
         private final int RIGHT_ALIGN = 1;
         private JFrame frame;
         private JTable tableView;
         private String lastPrintDate;
         private Font defaultFont;
         private Font headerFont;
         private Font footerFont;
         private int headerHeight;
         private int footerHeight;
         private int cellBuffer = 5;
         private boolean first_pass;
         private ArrayList pages;
         public Report()
              frame = new JFrame("Sales Report");
              frame.addWindowListener(new WindowAdapter()
                   public void windowClosing(WindowEvent e)
                        System.exit(0);
              final String[] headers =
                   "ID",
                   "Description",
                   "open price",
                   "latest price",
                   "End Date",
                   "Quantity"
              int count = 0;
              final Object[][] data =
                   {new Integer(count++), "Box of BirosBox of BirosBox of BirosBox of BirosBox of BirosBox of BirosBox of BirosBox of BirosBox of BirosBox of BirosBox of BirosBox of BirosBox of BirosBox of Biros ppppppppppppppp", "1.00", "4.99", new Date(), new Integer(200000)},
                   {new Integer(count++), "Blue Biro", "0.10", "0.14", new Date(), new Integer(1)},
                   {new Integer(count++), "legal pad", "1.00", "2.49", new Date(), new Integer(1)},
                   {new Integer(count++), "tape", "1.00", "1.49", new Date(), new Integer(1)},
                   {new Integer(count++), "stapler", "4.00", "4.49", new Date(), new Integer(1)},
                   {new Integer(count++), "Box of Biros", "1.00", "4.99", new Date(), new Integer(2)},
                   {new Integer(count++), "Blue Biro", "0.10", "0.14", new Date(), new Integer(1)},
                   {new Integer(count++), "legal pad", "1.00", "2.49", new Date(), new Integer(1)},
                   {new Integer(count++), "tape", "1.00", "1.49", new Date(), new Integer(1)},
                   {new Integer(count++), "stapler", "4.00", "4.49", new Date(), new Integer(1)},
                   {new Integer(count++), "Box of Biros", "1.00", "4.99", new Date(), new Integer(2)},
                   {new Integer(count++), "Blue Biro", "0.10", "0.14", new Date(), new Integer(1)},
                   {new Integer(count++), "legal pad", "1.00", "2.49", new Date(), new Integer(1)},
                   {new Integer(count++), "tape", "1.00", "1.49", new Date(), new Integer(1)},
                   {new Integer(count++), "stapler", "4.00", "4.49", new Date(), new Integer(1)},
                   {new Integer(count++), "Box of Biros", "1.00", "4.99", new Date(), new Integer(2)},
                   {new Integer(count++), "Blue Biro", "0.10", "0.14", new Date(), new Integer(1)},
                   {new Integer(count++), "legal pad", "1.00", "2.49", new Date(), new Integer(1)},
                   {new Integer(count++), "tape", "1.00", "1.49", new Date(), new Integer(1)},
                   {new Integer(count++), "stapler", "4.00", "4.49", new Date(), new Integer(1)},
                   {new Integer(count++),  "Box of Biros", "1.00", "4.99", new Date(), new Integer(2)},
                   {new Integer(count++),  "Blue Biro", "0.10", "0.14", new Date(), new Integer(1)},
                   {new Integer(count++),  "legal pad", "1.00", "2.49", new Date(), new Integer(1)},
                   {new Integer(count++),  "tape", "1.00", "1.49", new Date(), new Integer(1)},
                   {new Integer(count++),  "stapler", "4.00", "4.49", new Date(), new Integer(1)},
                   {new Integer(count++),  "Box of Biros", "1.00", "4.99", new Date(), new Integer(2)},
                   {new Integer(count++),  "Blue Biro", "0.10", "0.14", new Date(), new Integer(1)},
                   {new Integer(count++),  "legal pad", "1.00", "2.49", new Date(), new Integer(1)},
                   {new Integer(count++),  "tape", "1.00", "1.49", new Date(), new Integer(1)},
                   {new Integer(count++),  "stapler", "4.00", "4.49", new Date(), new Integer(1)},
                   {new Integer(count++),  "Box of Biros", "1.00", "4.99", new Date(), new Integer(2)}
              TableModel dataModel = new AbstractTableModel()
                   public int getColumnCount() { return headers.length; }
                   public int getRowCount() { return data.length;}
                   public Object getValueAt(int row, int col)
                        return data[row][col];
                   public String getColumnName(int column)
                        return headers[column];
                   public Class getColumnClass(int col)
                        return getValueAt(0,col).getClass();
                   public boolean isCellEditable(int row, int col)
                        return (col==1);
                   public void setValueAt(Object aValue, int row, int column)
                        data[row][column] = aValue;
              tableView = new JTable(dataModel);
              JScrollPane scrollpane = new JScrollPane(tableView);
              scrollpane.setPreferredSize(new Dimension(500, 80));
              frame.getContentPane().setLayout(new BorderLayout());
              frame.getContentPane().add(BorderLayout.CENTER,scrollpane);
              frame.pack();
              JButton printButton= new JButton();
              printButton.setText("print me!");
              frame.getContentPane().add(BorderLayout.SOUTH,printButton);
              // for faster printing turn double buffering off
              RepaintManager.currentManager(frame).setDoubleBufferingEnabled(false);
              printButton.addActionListener( new ActionListener()
                   public void actionPerformed(ActionEvent evt)
                        doPrint();
              frame.setVisible(true);
          * Reset variables before printing
         private void prepareForPrint()
              pages = new ArrayList();
              first_pass = true;
          * Display a print dialog with some hardcoded defaults
          * The print fonts are also hardcoded
         public void doPrint()
              try
                   String jobName = "Java Report";
                   defaultFont = new Font("Arial", Font.PLAIN, 8);
                   footerFont = new Font("Arial", Font.PLAIN, 6);
                   headerFont = new Font("Arial", Font.BOLD, 10);
                   PrinterJob prnJob = PrinterJob.getPrinterJob();
                   prnJob.setPrintable(this);
                   PrintRequestAttributeSet prnSet = new HashPrintRequestAttributeSet();
                   prnSet.add(new Copies(1));
                   prnSet.add(new JobName(jobName, null));
                   prnSet.add(MediaSizeName.ISO_A4);
                   PageFormat pf = prnJob.defaultPage();
                   pf.setOrientation(java.awt.print.PageFormat.PORTRAIT);
                   prnJob.setJobName(jobName);
                   PrintService[] services = PrinterJob.lookupPrintServices();
                   if (services.length > 0)
                        if (prnJob.printDialog(prnSet))
                              * Get print date
                             String dateFormat = "dd/MM/yyyy HH:mm:ss";
                             DateFormat m_DateFormat = new SimpleDateFormat(dateFormat);
                             lastPrintDate = m_DateFormat.format(new Date()).toString();
                             prepareForPrint();
                             prnJob.print(prnSet);
                   else
                        JOptionPane.showMessageDialog(frame, "No Printer was found!!", "Printer Error", JOptionPane.ERROR_MESSAGE);
                        return;
              catch (PrinterException e)
                   e.printStackTrace();
         public int print(Graphics g, PageFormat pageFormat, int pageIndex) throws PrinterException
               * Check if this is the first time the print method is called for this print action.
               * It is not guaranteed that the print will be called with synchronous pageIndex'es,
               * so we need to calculate the number of pages and which rows appear on which pages.
               * Then the correct page will be printed regardless of which pageIndex is sent through.
              if (first_pass)
                   calcPages(g, pageFormat);
              first_pass = false;
              // Stop printing if the pageIndex is out of range
              if (pageIndex >= pages.size())
                   return NO_SUCH_PAGE;
              Graphics2D     g2 = (Graphics2D) g;
              g2.setColor(Color.black);
              // The footer will be one line at the bottom of the page, cater for this.
              g2.setFont(footerFont);
              footerHeight = g2.getFontMetrics().getHeight() + g2.getFontMetrics().getDescent();
              g2.setFont(defaultFont);
              FontMetrics fontMetrics = g2.getFontMetrics();
              int fontHeight = fontMetrics.getHeight();
              int fontDescent = fontMetrics.getDescent();
              double pageHeight = pageFormat.getImageableHeight() + pageFormat.getImageableY();
              double pageWidth = pageFormat.getImageableWidth();
              double tableWidth = (double) tableView.getColumnModel().getTotalColumnWidth();
              // Shrink or expand the table to fit the page width
              double scale = pageWidth / (tableWidth+ (cellBuffer * tableView.getColumnCount()));
              // Calculate the width in pixels for each column
              double[] columnWidths = new double[tableView.getColumnCount()];
              for(int i = 0; i < tableView.getColumnCount(); i++)
                   columnWidths[i] = (double)tableView.getColumnModel().getColumn(i).getWidth() * scale;
              // Reset the view to the start of the page
              g2.translate(0, 0);
              // Draw a rectangle to see the printable area
              g2.draw3DRect((int)pageFormat.getImageableX(),
                        (int)pageFormat.getImageableY(),
                        (int)pageFormat.getImageableWidth(),
                        (int)pageFormat.getImageableHeight(),
                        false);
              // Calculate the header height
              g2.setFont(headerFont);
              fontMetrics = g2.getFontMetrics();
              // Print the headers and retreive the starting position for the data
              int next_row = printLine(g2, pageFormat, fontMetrics, -1, (int)pageFormat.getImageableY() + fontHeight, columnWidths);
              g2.setFont(defaultFont);
              fontMetrics = g2.getFontMetrics();
              // Start printing the detail
              ArrayList page = (ArrayList)pages.get(pageIndex);
              int start = ((Integer)page.get(0)).intValue();
              int end = ((Integer)page.get(1)).intValue();
              for (int i = start; i <= end; i++)
                   next_row = printLine(g2, pageFormat, fontMetrics, i, next_row, columnWidths);
              // Print the footer
              g2.setFont(footerFont);
              String pageFooter = "Page " + (pageIndex + 1) + " - " + lastPrintDate;
              g2.drawString(pageFooter,
                             (int)pageFormat.getWidth() / 2 - (fontMetrics.stringWidth(pageFooter) / 2),
                             (int)(pageHeight - fontDescent));
              return PAGE_EXISTS;
          * We can't guarantee that the same amount of rows will be displayed on each page,
          * the row heights are dynamic and may wrap onto 2 or more lines.
          * Thus we need to calculate the height of each row and then test how may rows
          * fit on a specific page. eg. Page 1 contains rows 1 to 10, Page 2 contains rows 11 to 15 etc.
         public void calcPages(Graphics g, PageFormat pageFormat) throws PrinterException
              Graphics2D     g2 = (Graphics2D) g;
              g2.setColor(Color.black);
              // The footer will be one line at the bottom of the page, cater for this.
              g2.setFont(footerFont);
              footerHeight = g2.getFontMetrics().getHeight() + g2.getFontMetrics().getDescent();
              g2.setFont(defaultFont);
              FontMetrics fontMetrics = g2.getFontMetrics();
              int fontHeight = fontMetrics.getHeight();
              int fontDescent = fontMetrics.getDescent();
              double pageHeight = pageFormat.getImageableHeight() - fontHeight;
              double pageWidth = pageFormat.getImageableWidth();
              double tableWidth = (double) tableView.getColumnModel().getTotalColumnWidth();
              // Shrink or expand the table to fit the page width
              double scale = pageWidth / (tableWidth+ (cellBuffer * tableView.getColumnCount()));
              // Calculate the width in pixels for each column
              double[] columnWidths = new double[tableView.getColumnCount()];
              for(int i = 0; i < tableView.getColumnCount(); i++)
                   columnWidths[i] = (double)tableView.getColumnModel().getColumn(i).getWidth() * scale;
              // Calculate the header height
              int maxHeight = 0;
              g2.setFont(headerFont);
              fontMetrics = g2.getFontMetrics();
              for (int j = 0; j < tableView.getColumnCount(); j++)
                   String value = tableView.getColumnName(j).toString();
                   int numLines = (int)Math.ceil(fontMetrics.stringWidth(value) / columnWidths[j]);
                   if (numLines > maxHeight)
                        maxHeight = numLines;
              headerHeight = g2.getFontMetrics().getHeight() * maxHeight;
              g2.setFont(defaultFont);
              fontMetrics = g2.getFontMetrics();
              int pageNum = 0;
              int bottom_of_page = (int)(pageFormat.getImageableHeight() + pageFormat.getImageableY()) - footerHeight;
              int prev_row = 0;
              int next_row = (int)pageFormat.getImageableY() + fontHeight + headerHeight;
              int i = 0;
              ArrayList page = new ArrayList();
              page.add(new Integer(0));
              for (i = 0; i < tableView.getRowCount(); i++)
                   maxHeight = 0;
                   for (int j = 0; j < tableView.getColumnCount(); j++)
                        String value = tableView.getValueAt(i, j).toString();
                        int numLines = (int)Math.ceil(fontMetrics.stringWidth(value) / columnWidths[j]);
                        if (numLines > maxHeight)
                             maxHeight = numLines;
                   prev_row = next_row;
                   next_row += (fontHeight * maxHeight);
                   // If we've reached the bottom of the page then set the current page's end row
                   if (next_row > bottom_of_page)
                        page.add(new Integer(i - 1));
                        pages.add(page);
                        page = new ArrayList();
                        page.add(new Integer(i));
                        pageNum++;
                        next_row = (int)pageFormat.getImageableY()
                                       + fontHeight
                                       + ((int)pageFormat.getHeight() * pageNum)
                                       + headerHeight;
                        bottom_of_page = (int)(pageFormat.getImageableHeight()
                                            + pageFormat.getImageableY())
                                            + ((int)pageFormat.getHeight() * pageNum)
                                            - footerHeight;
                        //Include the current row on the next page, because there is no space on this page
                        i--;
              page.add(new Integer(i - 1));
              pages.add(page);
          * Print the headers or a row from the table to the graphics context
          * Return the position of the row following this one
         public int printLine(Graphics2D g2,
                                       PageFormat pageFormat,
                                       FontMetrics fontMetrics,
                                       int rowNum,
                                       int next_row,
                                       double[] columnWidths)
                   throws PrinterException
              int lead = 0;
              int maxHeight = 0;
              for (int j = 0; j < tableView.getColumnCount(); j++)
                   String value = null;
                   int align = LEFT_ALIGN;
                   if (rowNum > -1)
                        Object obj = tableView.getValueAt(rowNum, j);
                        if (obj instanceof Number)
                             align = RIGHT_ALIGN;
                        value = obj.toString();
                   else
                        align = CENTER_ALIGN;
                        value = tableView.getColumnName(j);
                   int numLines = (int)Math.ceil(fontMetrics.stringWidth(value) / columnWidths[j]);
                   if (numLines > maxHeight)
                        maxHeight = numLines;
                   if (fontMetrics.stringWidth(value) < columnWidths[j])
                        // Single line
                        int offset = 0;
                        // Work out the offset from the start of the column to display alignment correctly
                        switch (align)
                             case RIGHT_ALIGN: offset = (int)(columnWidths[j] - fontMetrics.stringWidth(value)); break;
                             case CENTER_ALIGN: offset = (int)(columnWidths[j] - fontMetrics.stringWidth(value)) / 2; break;
                             default: offset = 0; break;
                        g2.drawString(value,
                                       lead + (int)(pageFormat.getImageableX() + offset),
                                       next_row);
                   else
                        for(int a = 0; a < numLines; a++)
                             //Multi-Line
                             int x = 0;
                             int width = 0;
                             for(x = 0; x < value.length(); x++)
                                  width += fontMetrics.charWidth(value.charAt(x));
                                  if (width > columnWidths[j])
                                       break;
                             int offset = 0;
                             // Work out the offset from the start of the column to display alignment correctly
                             switch (align)
                                  case RIGHT_ALIGN: offset = (int)(columnWidths[j] - fontMetrics.stringWidth(value)); break;
                                  case CENTER_ALIGN: offset = (int)(columnWidths[j] - fontMetrics.stringWidth(value)) / 2; break;
                                  default: offset = 0; break;
                             g2.drawString(value.substring(0, x),
                                            lead + (int)(pageFormat.getImageableX() + offset),
                                            next_row + (fontMetrics.getHeight() * a));                    
                             value = value.substring(x);
                   lead += columnWidths[j] + cellBuffer;
              // Draw a solid line below the row
              g2.draw(new Line2D.Double(pageFormat.getImageableX(),
                             next_row + (fontMetrics.getHeight() * (maxHeight - 1)) + fontMetrics.getDescent(),
                             pageFormat.getImageableY() + pageFormat.getImageableWidth(),
                             next_row + (fontMetrics.getHeight() * (maxHeight - 1)) + fontMetrics.getDescent()));
              // Return the position of the row following this one
              return next_row + (fontMetrics.getHeight() * maxHeight);
         public static void main(String[] args)
              new Report();
    }

    Fixed some bugs and added a title. Just pass in a JTable and the class will do the rest.
    import javax.swing.*;
    import javax.swing.table.*;
    import java.awt.print.*;
    import java.util.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import javax.print.*;
    import javax.print.attribute.*;
    import javax.print.attribute.standard.*;
    import java.text.*;
    import java.math.*;
    public class PrintJTable implements Printable
         private final int LEFT_ALIGN = -1;
         private final int CENTER_ALIGN = 0;
         private final int RIGHT_ALIGN = 1;
         private JFrame m_parent;
         private String m_title;
         private JTable tableView;
         private String lastPrintDate;
         private Font defaultFont;
         private Font headerFont;
         private Font footerFont;
         private int headerHeight;
         private int footerHeight;
         private int cellBuffer = 5;
         private boolean first_pass;
         private ArrayList pages;
         public PrintJTable(JFrame parent, JTable table)
              m_parent = parent;
              tableView = table;
              doPrint();
         public PrintJTable(JFrame parent, String title, JTable table)
              m_parent = parent;
              m_title = title;
              tableView = table;
              doPrint();
          * Reset variables before printing
         private void prepareForPrint()
              pages = new ArrayList();
              first_pass = true;
          * Display a print dialog with some hardcoded defaults
          * The print fonts are also hardcoded
         public void doPrint()
              try
                   String jobName = "Java Report";
                   defaultFont = new Font("Arial", Font.PLAIN, 8);
                   footerFont = new Font("Arial", Font.PLAIN, 6);
                   headerFont = new Font("Arial", Font.BOLD, 8);
                   PrinterJob prnJob = PrinterJob.getPrinterJob();
                   prnJob.setPrintable(this);
                   PrintRequestAttributeSet prnSet = new HashPrintRequestAttributeSet();
                   prnSet.add(new Copies(1));
                   prnSet.add(new JobName(jobName, null));
                   prnSet.add(MediaSizeName.ISO_A4);
                   PageFormat pf = prnJob.defaultPage();
                   pf.setOrientation(java.awt.print.PageFormat.PORTRAIT);
                   prnJob.setJobName(jobName);
                   PrintService[] services = PrinterJob.lookupPrintServices();
                   if (services.length > 0)
                        if (prnJob.printDialog(prnSet))
                              * Get print date
                             String dateFormat = "dd/MM/yyyy HH:mm:ss";
                             DateFormat m_DateFormat = new SimpleDateFormat(dateFormat);
                             lastPrintDate = m_DateFormat.format(new Date()).toString();
                             prepareForPrint();
                             prnJob.print(prnSet);
                   else
                        JOptionPane.showMessageDialog(m_parent, "No Printer was found!!", "Printer Error", JOptionPane.ERROR_MESSAGE);
                        return;
              catch (PrinterException e)
                   e.printStackTrace();
         public int print(Graphics g, PageFormat pageFormat, int pageIndex) throws PrinterException
               * Check if this is the first time the print method is called for this print action.
               * It is not guaranteed that the print will be called with synchronous pageIndex'es,
               * so we need to calculate the number of pages and which rows appear on which pages.
               * Then the correct page will be printed regardless of which pageIndex is sent through.
              if (first_pass)
                   calcPages(g, pageFormat);
              first_pass = false;
              // Stop printing if the pageIndex is out of range
              if (pageIndex >= pages.size())
                   return NO_SUCH_PAGE;
              Graphics2D     g2 = (Graphics2D) g;
              g2.setColor(Color.black);
              // The footer will be one line at the bottom of the page, cater for this.
              g2.setFont(footerFont);
              footerHeight = g2.getFontMetrics().getHeight() + g2.getFontMetrics().getDescent();
              g2.setFont(defaultFont);
              FontMetrics fontMetrics = g2.getFontMetrics();
              int fontHeight = fontMetrics.getHeight();
              int fontDescent = fontMetrics.getDescent();
              double pageHeight = pageFormat.getImageableHeight() + pageFormat.getImageableY();
              double pageWidth = pageFormat.getImageableWidth();
              double tableWidth = (double) tableView.getColumnModel().getTotalColumnWidth();
              // Shrink or expand the table to fit the page width
              double scale = (pageWidth - (cellBuffer * tableView.getColumnCount())) / tableWidth;
              // Calculate the width in pixels for each column
              double[] columnWidths = new double[tableView.getColumnCount()];
              double test = 0;
              for(int i = 0; i < tableView.getColumnCount(); i++)
                   columnWidths[i] = (double)Math.floor(tableView.getColumnModel().getColumn(i).getWidth() * scale);
                   test += columnWidths;
              // Reset the view to the start of the page
              g2.translate(0, 0);
              // Draw a rectangle to see the printable area
              g2.draw3DRect((int)pageFormat.getImageableX(),
                        (int)pageFormat.getImageableY(),
                        (int)pageFormat.getImageableWidth(),
                        (int)pageFormat.getImageableHeight(),
                        false);
              // Calculate the header height
              g2.setFont(headerFont);
              fontMetrics = g2.getFontMetrics();
              // Print the headers and retreive the starting position for the data
              int next_row = (int)pageFormat.getImageableY() + fontMetrics.getHeight();
              if ((m_title != null) && (!m_title.equalsIgnoreCase("")))
                   g2.drawString(m_title,
                                       (int)(pageFormat.getImageableX()),
                                       next_row);
                   Color current_color = g2.getColor();
                   g2.setColor(Color.lightGray);
                   int y = next_row + fontMetrics.getDescent();
                   g2.draw(new Line2D.Double(pageFormat.getImageableX(),
                                  y,
                                  (pageFormat.getImageableY() + pageFormat.getImageableWidth()),
                                  y));
                   g2.setColor(current_color);
                   next_row += fontMetrics.getHeight();
              next_row = printLine(g2, pageFormat, fontMetrics, -1, next_row, columnWidths);
              g2.setFont(defaultFont);
              fontMetrics = g2.getFontMetrics();
              // Start printing the detail
              ArrayList page = (ArrayList)pages.get(pageIndex);
              int start = ((Integer)page.get(0)).intValue();
              int end = ((Integer)page.get(1)).intValue();
              for (int i = start; i <= end; i++)
                   next_row = printLine(g2, pageFormat, fontMetrics, i, next_row, columnWidths);
              // Print the footer
              g2.setFont(footerFont);
              String pageFooter = "Page " + (pageIndex + 1) + " - " + lastPrintDate;
              g2.drawString(pageFooter,
                             (int)pageFormat.getWidth() / 2 - (fontMetrics.stringWidth(pageFooter) / 2),
                             (int)(pageHeight - fontDescent));
              return PAGE_EXISTS;
         * We can't guarantee that the same amount of rows will be displayed on each page,
         * the row heights are dynamic and may wrap onto 2 or more lines.
         * Thus we need to calculate the height of each row and then test how may rows
         * fit on a specific page. eg. Page 1 contains rows 1 to 10, Page 2 contains rows 11 to 15 etc.
         public void calcPages(Graphics g, PageFormat pageFormat) throws PrinterException
              Graphics2D     g2 = (Graphics2D) g;
              g2.setColor(Color.black);
              // The footer will be one line at the bottom of the page, cater for this.
              g2.setFont(footerFont);
              footerHeight = g2.getFontMetrics().getHeight() + g2.getFontMetrics().getDescent();
              g2.setFont(defaultFont);
              FontMetrics fontMetrics = g2.getFontMetrics();
              int fontHeight = fontMetrics.getHeight();
              int fontDescent = fontMetrics.getDescent();
              double pageHeight = pageFormat.getImageableHeight() - fontHeight;
              double pageWidth = pageFormat.getImageableWidth();
              double tableWidth = (double) tableView.getColumnModel().getTotalColumnWidth();
              // Shrink or expand the table to fit the page width
              double scale = (pageWidth - (cellBuffer * tableView.getColumnCount())) / tableWidth;
              // Calculate the width in pixels for each column
              double[] columnWidths = new double[tableView.getColumnCount()];
              for(int i = 0; i < tableView.getColumnCount(); i++)
                   columnWidths[i] = (double)Math.floor(tableView.getColumnModel().getColumn(i).getWidth() * scale);
              // Calculate the header height
              int maxHeight = 0;
              g2.setFont(headerFont);
              fontMetrics = g2.getFontMetrics();
              headerHeight = 0;
              if ((m_title != null) && (!m_title.equalsIgnoreCase("")))
                   headerHeight = fontMetrics.getHeight();
              for (int j = 0; j < tableView.getColumnCount(); j++)
                   String value = tableView.getColumnName(j).toString();
                   int numLines = (int)Math.ceil(fontMetrics.stringWidth(value) / columnWidths[j]);
                   if (numLines > maxHeight)
                        maxHeight = numLines;
              headerHeight += g2.getFontMetrics().getHeight() * maxHeight;
              g2.setFont(defaultFont);
              fontMetrics = g2.getFontMetrics();
              int pageNum = 0;
              int bottom_of_page = (int)(pageFormat.getImageableHeight() + pageFormat.getImageableY()) - footerHeight;
              int prev_row = 0;
              int next_row = (int)pageFormat.getImageableY() + fontHeight + headerHeight;
              int i = 0;
              ArrayList page = new ArrayList();
              page.add(new Integer(0));
              for (i = 0; i < tableView.getRowCount(); i++)
                   maxHeight = 0;
                   for (int j = 0; j < tableView.getColumnCount(); j++)
                        String value = formatObject(tableView.getValueAt(i, j));
                        int numLines = (int)Math.ceil(fontMetrics.stringWidth(value) / columnWidths[j]);
                        if (numLines > maxHeight)
                             maxHeight = numLines;
                   prev_row = next_row;
                   next_row += (fontHeight * maxHeight);
                   // If we've reached the bottom of the page then set the current page's end row
                   if (next_row > bottom_of_page)
                        page.add(new Integer(i - 1));
                        pages.add(page);
                        page = new ArrayList();
                        page.add(new Integer(i));
                        pageNum++;
                        next_row = (int)pageFormat.getImageableY()
                                       + fontHeight
                                       + ((int)pageFormat.getHeight() * pageNum)
                                       + headerHeight;
                        bottom_of_page = (int)(pageFormat.getImageableHeight()
                                            + pageFormat.getImageableY())
                                            + ((int)pageFormat.getHeight() * pageNum)
                                            - footerHeight;
                        //Include the current row on the next page, because there is no space on this page
                        i--;
              page.add(new Integer(i - 1));
              pages.add(page);
         * Print the headers or a row from the table to the graphics context
         * Return the position of the row following this one
         public int printLine(Graphics2D g2,
                                       PageFormat pageFormat,
                                       FontMetrics fontMetrics,
                                       int rowNum,
                                       int next_row,
                                       double[] columnWidths)
                   throws PrinterException
              int lead = 0;
              int maxHeight = 0;
              for (int j = 0; j < tableView.getColumnCount(); j++)
                   String value = null;
                   int align = LEFT_ALIGN;
                   if (rowNum > -1)
                        Object obj = tableView.getValueAt(rowNum, j);
                        if (obj instanceof Number)
                             align = RIGHT_ALIGN;
                        value = formatObject(obj);
                   else
                        //align = CENTER_ALIGN;
                        value = tableView.getColumnName(j);
                   int numLines = (int)Math.ceil(fontMetrics.stringWidth(value) / columnWidths[j]);
                   if (numLines > maxHeight)
                        maxHeight = numLines;
                   if (fontMetrics.stringWidth(value) < columnWidths[j])
                        // Single line
                        int offset = 0;
                        // Work out the offset from the start of the column to display alignment correctly
                        switch (align)
                             case RIGHT_ALIGN: offset = (int)(columnWidths[j] - fontMetrics.stringWidth(value)); break;
                             case CENTER_ALIGN: offset = (int)(columnWidths[j] - fontMetrics.stringWidth(value)) / 2; break;
                             default: offset = 0; break;
                        g2.drawString(value,
                                       lead + (int)(pageFormat.getImageableX() + offset),
                                       next_row);
                   else
                        for(int a = 0; a < numLines; a++)
                             //Multi-Line
                             int x = 0;
                             int width = 0;
                             for(x = 0; x < value.length(); x++)
                                  width += fontMetrics.charWidth(value.charAt(x));
                                  if (width > columnWidths[j])
                                       break;
                             int offset = 0;
                             // Work out the offset from the start of the column to display alignment correctly
                             switch (align)
                                  case RIGHT_ALIGN: offset = (int)(columnWidths[j] - fontMetrics.stringWidth(value.substring(0, x))); break;
                                  case CENTER_ALIGN: offset = (int)(columnWidths[j] - fontMetrics.stringWidth(value.substring(0, x))) / 2; break;
                                  default: offset = 0; break;
                             g2.drawString(value.substring(0, x),
                                            lead + (int)(pageFormat.getImageableX() + offset),
                                            next_row + (fontMetrics.getHeight() * a));                    
                             value = value.substring(x);
                   lead += columnWidths[j] + cellBuffer;
              // Draw a solid line below the row
              Color current_color = g2.getColor();
              g2.setColor(Color.lightGray);
              int y = next_row + (fontMetrics.getHeight() * (maxHeight - 1)) + fontMetrics.getDescent();
              g2.draw(new Line2D.Double(pageFormat.getImageableX(),
                             y,
                             (pageFormat.getImageableY() + pageFormat.getImageableWidth()),
                             y));
              g2.setColor(current_color);
              // Return the position of the row following this one
              return next_row + (fontMetrics.getHeight() * maxHeight);
         public String formatObject(Object obj)
              String value = (obj == null) ? "" : obj.toString();
              return value;

  • HP LaserJet Pro P1102w printer "Ready" for wireless printing, but gives "error -- printing" message

    This P1102w printer was configured for wireless printing from two computers (WinXP and Win7), both with a network sharing designation, and all functions worked perfectly:
    Printing from the WinXP computer directly, and from a networked Win2K computer as a guest.
    Printing from the Win7 computer directly, and from a networked Win2K computer as a guest.
    Windows Printer Test Pages were printed from both installed computers, showing correct computer names, the printer name, Port names (IP addresses), Data format (IMF), Driver information, etc.
    Several days later (after new boots), the WinXP computer showed printer status as being "Ready", along with the correct printer "Type" (HP LaserJet Professional P1102w), "Where" (IP address), and "Comment" (network printing).  When a print job was submitted from Microsoft Word, the control-panel printer window first showed the message "printing", and then the message "error -- printing".  Nothing was printed.  The same results occurred when a print job was sent to the WinXP computer from the networked Win2K computer.  HP’s troubleshooting routine did not identify the error, its cause, or what can be done about it.
    Successful printing continued, as before, from the Win7 computer directly, and from the networked Win2K computer to the Win7 computer as a guest.
    The printer’s blue “i” network indicator lamp is lit, and all three computers continue to communicate through the hub to each other and to the Internet.
    HP’s printer installation program was executed on the WinXP computer, using the “fix” option, but nothing changed.  The installation program was executed again on the WinXP computer, using the “new install” option (without removing the existing P1102w installation); the “browse” function saw the network, but no printers were found, and the installation could not be completed.
    This is very perplexing.  Any suggestions?
    PS:  The same problem occurred once before, and it was fixed by resetting factory defaults on the printer, hard wiring the printer to the WinXP computer through a USB cable, re-installing the printer’s wireless settings from HP’s installation disk, and repeating all of the networking and sharing setups on all three computers.  This is a lot of work that is not worth repeating, because the successful results have not been permanent. 

    To:  Neonskeleton,
    Thanks for your response -- especially because you are an HP employee!
    My Win2k machine does not use HP software, nor communicate to the HP printer.  (HP did not write a Win2k driver for the P1102w -- and evidently no one else has done this, either.)  My WinXP and Win7 machines use their HP drivers to send print jobs to the P1102w wirelessly, and both machines have the P1102w set up as a shared printer.  Then, when I connect to those machines as a "guest" and submit a print job to those machines, those machines receive the print job and then communicate with the printer using the proper installed printer drivers.
    Everything worked great with this configuration, until suddenly the printer was no longer responsive to ANY jobs coming from the WinXP machine, even though there was a "printer ready" indication on the WinXP machine, and even though the printer responded perfectly to print jobs coming from the Win7 machine.
    When I tried to "fix" the WinXP setup by running HP's setup program on CD, nothing changed.  Then, when I tried to reinstall the WinXP setup for wireless printing, the program insisted that I reset THE PRINTER'S factory defaults and proceed using a USB cable -- even though I wanted to simply ADD the computer for wireless communication to an existing networked printer!  I would conclude that something screwed up the printer's inner settings (maybe an unsolicited and invisible HP update sent to my printer from the Internet?).
    As I mentioned in my original post, I went through this process once before, reinstalled everything on all machines, and all was well.  Until THE SAME non-recognition problem surfaced again!
    I do not want to spend any more time on this.  I went to Staples and bought a second P1102w printer (it is a nice little machine that uses a xerographic cartridge, rather than costly inkjet cartridges that frequently plug up).  I'll use a USB cable for the connection, rather than the installed wireless feature, and set up the P1102w as a shared printer.  I expect that all of my other computers will be able to link as a "guest" through the wireless hub and be able to print.
    Thanks again.
    PS.  I am a retired computer-systems manager from Northrop Grumman. 

  • Hp officejet pro 8500a - get "error - printing" on all documents

    Quick history:
    Both my laptop and my printer HP Officejet Pro 8500 A910 have been working happily for months, with wireless connection via Belkin wireless hub.
    > Had printer jam errors - so just replaced printer under warranty - completed set-up - printed test pages - wireless connection ok (did wireless test report, albeit signal quality "Very low", but has always been like that and worked in past.)
    > Printing word document - just generates error "Error - printing" and stays stuck in queue.
    Anything else that has happened in interim ...
    > I have installed LiveDrive in the interim to back up all my files on the cloud - works in the background. Can't imagine it's relevant?
    > Any help greatfully received, driving me mad!!
    Neil

    Hi Rossainz,  I don't know that I can answer 'what is wrong with it', but I would be happy to help you figure it out and better yet, resolve the issue. Let's first try leaving the printer on and unplugging the power cable out of the back. Leave it unplugged for a full minute during which time you can hold down the power button for just a few seconds to help release and build up power, then plug the power cable back in.  If the issue persists, please let me know and we will see what other solutions might do the trick.

  • Printing problem with Epson photo 2200

    I have a Powerbook G4 running the most recent version of OSX. I can no longer print to my Epson Photo 2200. When I try and print the Printer window pops up, and the job automatically stops without printing.
    I have tried uninstalling and reinstalling the 2200 driver, I have hooked up a Canon printer to the powerbook (and this printer works fine with the powerbook), I have printed a test sheet on the 2200 (which is done without a connection to the Powerbook and it printed fine). The problem lies in the computer printer connection (I am using USB for the link).
    Any help you can provide would be greatly appreciated.

    I had a similar problem with a Epson Stylus Photo R800. The printer would not print Word docs or DVD media using the most updated software from Epson. After going through two printers I paid a consultant to come in on a Saturday night who told me that communication errors between Epson printers and current versions of the MacOS are encountered every day in his business. And neither Apple or Epson address the issue directly.
    To get the Stylus Photo R800 to work we had to reconfigure the driver to deal with Manual Feeding of documents and DVDs. It took about an hour of experimentation but once done...with no help from Apple or Epson...the printer did work very well. However, the Epson Print CD software is a total bust. We found a third party solution called DiscLabel that allowed us to print DVDs with the reconfigured driver. I'm disgusted with both Apple and Epson because Epson sells printer with the promise that it will work with the MacOS when three hours of struggle with useless software proved otherwise.
    If others have a better experience or know of simple solutions to the Epson Print CD problem please post them.
    Thanks in advance for tolerating my rant.
    Powerbook 167 GHz PowerPC G4   Mac OS X (10.4.6)  

  • HP Officejet100 Mobile L411a intermittent Bluetooth printing problems with PDF files

    Hello,
    Our company provides computer-hosted medical devices controlled by an application running on Windows7 computers we supply. We are currently using the HP Officejet 100 as a Bluetooth printer. In some of our customer offices, we experience printing problems using the printer in Bluetooth mode (there are never problems if the printer is connected by a USB cable.)
    The printing problems typically affect PDF files printed through Adobe Reader 10, and the symptom is one of the following:
    Send a print job to the printer. It doesn't print and eventually the print queue shows an "Error Printing" message. If any print jobs are removed and the printer is power-cycled, the problem goes away for the time being.
    2.  Same as above but power-cycling does not cure the problem and nothing will print, even a test page.
    In either of these cases there are no problems if a USB cable is used.
    The PDF files we are trying to print are typically 5 pages with 3 of the pages having a lot of graphics and the remainder being text only.
    Has anyone seen this behavior and is there anything we can do about it?
    Thanks.

    I don't anything about this printer, but I do know that bluetooth is really flaky with large files since it's got a crappy transfer rate, could be that the transfer is dropping and freezing the printer up. Does it have encryption turned on?

  • Macbook pro is not working with Canon pixma iP1500, but has previously.  The printer works with an old PC without trouble.  "printer is offline" message when this printer is plugged into macbook.  Any clues to get it to work?

    Macbook pro is not working with Canon pixma iP1500 but has previously.  Printer works with an old PC but macbook shows "printer is offline".  Any clues?

    Hello Betty7,
    Please let me take a moment to say "Welcome" to the HP Forums.
    I hope you enjoy your experience!
    I see that you are having an issue with getting the printer reinstalled. 
    I suggest that we start off by running the HP Print and Scan Doctor.  If the Doctor fails, please let me know where it fails as well as any error codes it may generate.
    Thank you for your time.
    Click the “Kudos Thumbs Up" at the bottom of this post to say “Thanks” for helping!
    Please click “Accept as Solution ” if you feel my post solved your issue, it will help others find the solution.
    W a t e r b o y 71
    I work on behalf of HP

Maybe you are looking for

  • How can I just plot a pixel?

    Maybe this seems silly.. but I'm wanting to build a game. I've been programming in C++ and Assembler for years but I'm new to development on the Mac. In fact, I've never really programmed under a GUI at all. I'm used to direct hardware access for plo

  • Using USB Device through Parallels Desktop / CIT200 Skype Phone

    Hi. I have the Linksys CIT200 cordless phone that I use with Skype. I am a recent convert from PC and this is my first mac. I have Parallels desktop installed and everything in that seems to work fine. When I plugin the CIT200 base station, it does n

  • Can i transfer office form old macbook to new macbook

    how or can i transfer office to a new macbook from an old macbook

  • Can i validate in extraction ? (Need advise).

    Dear All, I use generate extractor using function to CRM System. Sometimes, when BW fetch the data, BW get 0 records (it's true, since sometimes no data in the CRM System). My Question : Is there any way/method to validate if there is no data in CRM,

  • Very old games! where can I find them?

    Ok, I had an old Quadra 605 from back in '93. It came with some awesome Text/graphic games. Problem is that when I backed them up back then, I used a SyQuest Drive (ARG!). The things were crap. But I lost all my games. The ones I'm looking for are th