CS4 printing bug with trifold?

Hello fellow designers,
I'm running InDesign CS4 on a Power PC G5 under Leopard 10.5.8, and using an
Epson Artisan 50 to print. I set up a letter sized, 3-panel brochure using
the feature that allows you to lock "pages" together to make a spread.
Envision three pages, 3.666 inches wide by 8.5 tall, grouped as a letter
sized spread. (Mine actually uses the Page Control plugin to shorten one
panel to allow for proper folding). When I try to print the document, all
that shows up in my print window is the first two panels. What the heck? I
have tried tinkering with it in a number of ways with no success. I wrote
DTP tools and sent them the file, they think it's a bug in InDesign CS4. I
did this in 2009 using CS3 and it worked perfectly, this is the first time
I've tried it in CS4. Does anyone have any clue what's happening here? I'd
be glad to post a couple of screenshots somewhere along with the file, but I
don't know where to post for free with files.
Bill Lomax

Don't know what I was doing yesterday, swear it wouldn't print correctly with this same file. Still shows only two panels in the print preview window, but the entire spread is printed on my Epson. See Michael's explanation below.
From: http://www.listsearch.com/InDesign -  Lasso InDesign forum
Make sure the three pages are grouped together in a single spread. In the Pages panel, uncheck
Allow Document Pages to Shuffle (first option in the section).
Check Print Spreads in the first dialog box.
As for the preview, ID only shows two pages in the proxy view.
-Michael Brady

Similar Messages

  • When will Mozilla correct the printing bug with Firefox where only 1 page is printed?

    There is a problem with FireFox whereby it only prints the FIRST PAGE of many sites.
    Searching the web on this, it seems that this problem has been around for a long time and even what the cause is.
    Apparently FireFox interprets the html text "overflow: hidden" as meaning to 'hide' all the rest of the page when printing.
    Many users have reported this problem, but to date it has not been adressed.
    Please correct this Mozilla (Or do I have to go back to using Safari?)

    Please go to the following bug and add a comment documenting this problem:
    https:// bugzilla .mozilla .org/ show_bug.cgi?id=258397
    If more people report this problem, there is a better chance they will fix it.
    ''Moderator broke the hyperlink. Please don't advocate the spamming in Bugzilla reports, if anything request that users '''vote''' for a Bug that they think should be fixed. That particular Bug is a duplicate of this one - https://bugzilla.mozilla.org/show_bug.cgi?id=129941 - which was fixed in 4.0b7.''

  • Duplex Printing Bug with HP OfficeJet Pro L7680

    Well - Duplex printing works but the back page will only print with binding on the top, Binding on the side does not work! Minor bug but still a bug at least with the HP!!

    Kev,
    A couple of points - assuming your using the HP OfficeJet Printer - I am assuming your connecting it via the Ethernet point which means it is communicating via IP. That being said - here is what I ran into.
    When I first added the HP Printer - Leopard wanted to configure the printer via BONJOUR. I went ahead and let it do that - however printing was terrible!!!! I could send jobs to the printq, but the only way they would print was if I turned the printer on/off again - and the the would magically start printing. Then the printer would go "offline" and I was forced to do this same on/off routine.
    So - I went back into add printers - and let the dialog box sit there for a little while and all of the sudden the list updated with an HP2A7180 - Kind - IP. I selected this printer and then told it to use the HP driver via the Print Using - drop down selector and my HP has been working fine since (minus the duplex).
    Additionally it installed an configuration utility which allows me to monitor inks, settings and such.
    Hope this helps - Bill

  • CS4 Printing problem with RGB

    When I try to print an 8x10 image using the default RGB color, I get a vertical band about 2 inches wide along the left side or bottom of the document, depending on orientation. This band looks as though there were a filter over that portion of the image. This band only exists on that edge of the document (bottom edge if printing landscape). If I decrease the image size, the band will then cover less of the image until I make the image small enough that it is no longer overlapped by this band. What is very odd, is that it is not present on all pictures taken with the very same camera.
    This band is only visible in the print preview and the print itself. The on-screen image looks just fine.
    If I switch to CMYK color, the band no longer shows up, but I do not like the resultant image quite as much. If I change to lab color, the problem goes away entirely. I am not sure if there are any possible downsides of using lab color mode, but I would prefer to not have to change form RGB at all.
    I have tried multiple images to include .CR2 and originally shot .JPG's. I also get the exact same results on my laptop, which also has CS4 on it.
    This clearly has nothing to do with my Canon MP560 printer, as the issue can be seen in the print preview.
    This is a hard one to Google, so any ideas would be greatly appreciated.
    Also a bit more information to provide you. If I convert image to JPG using Canons Digital Photo Professional, the band is no longer visible in print. If I simply perform a "Save as.." to .jpg from .CR2 in CS4, the band is still present.
    The only way to get rid of the band is to convert it with 3rd party software or change color mode to CMYK or lab color within Adobe. Hope this helps.
    The above pic is one that will have this band in the print and print preview. The border of this band will run right across my daughters lower lip.

    There's nothing damaged about your JPEG image.  The one thing about it that may be different than that which you are getting out of Canon's converter is that it's using the Adobe RGB color space.
    I suspect your Photoshop - printer driver interface is not properly handling the Adobe RGB profile.
    Try this as a workaround / diagnostic:
    1.  Open the .cr2 file in Camera Raw.
    2.  Click the little link at the center-bottom of the dialog.
    3.  Change the "Space" field from Adobe RGB to sRGB IEC61966-2.1.
    4.  Complete the conversion.
    5.  Try printing that image.  I'm betting it will look better.
    If your print comes out correctly, then what's happening is that somehow the Adobe RGB document profile is not being properly interpreted during the printing process.  If you want to be able to print documents using other than those in the sRGB color space then you may need a printer driver update, or possibly a change in the printing settings defining who does the color management.
    There have been a lot of reports of Photoshop not doing proper color management with certain printers (e.g., Epson), and I recall at least one report very similar to yours where a driver update solved the problem.
    -Noel

  • Printing bug with logical page numbers

    I have a PDF file set up with logical page numbering. If I want to print page 7-10 and type this in the Pages field, Reader prints physical pages 7 through 10 from the PDF file instead of logical page 7-10. I tried it in Reader X and XI and the problem occurs in both. I am pretty sure it worked in early versions, but I don't know what version it stopped working on. Is this a known issue?
    Rick

    Could it be that this file contains duplicate page labels? Can you share the file?

  • Resize / printing bug with B9180

    I'm printing from CS3 10.0.1 running under Windows XP Pro, updated with all service packs, to an HP B9180 printer. When I send the file to the printer at 600 dpi without resampling, the print is fine. If I resize a file substantially downward in the "Image Size" dialog, to make a very small print, the picture comes out with the final "scan" line of the printer head terminated partway through, so that the printed area is not a rectangle, but rather a rectangle with a partial sliver of additional image area that doesn't extend the full width of the picture. The exact cutoff point varies each time I open and resize the file. It makes no difference whether I rescale with bicubic or bicbubic sharper - the problem is the same.
    Any suggestions as to how to debug would be appreciated.

    After you resize the image, what are the pixel dimensions of the image in PS and then what size print do you select in your print menu.
    Be sure that the aspect ratio match, otherwise the print driver will have to crop or stretch your image to fix the desired print size.
    Also the ppi setting in PS does not really matter. What matters is the pixel dimensions of your image and the size print you select in the print mmenu.his sets the ppi for your current print settings.
    This is a starting point to trtrouble shootyour problem.
    Ed

  • Print issue with Photoshop CS4 and Officejet 6500

    I have a Windows 7 Business 64 bits desktop computer. After  installing the Officejet Pro 6500 multifunctional drivers all was  working OK. Images were being printed nice and with the correct size  using Windows print option. After installing Adobe CS4 suite, all images  printed from windows or Photoshop have incorrect size (photoshop prints  it smaller, about 33%, and on upper left corner of the sheet).
    Photoshop sucks but Illustrator print fine. The only way I can print  at the good size in Photoshop, it's when I select Microsoft XPS  document writer as printer and print from there... Not very user friendly !!!
    And  yes, it was always the HP Officejet 6500 E709n fax selected by default  by Photoshop instead of  HP Officejet 6500 E709n !
    Is anybody can say if it's an HP issue or an Adobe issue ??? Why Illustrator print fine and Photoshop don't ???
    Thank's  in advance.

    Deleting the fax printer  associated with this device to allows correct printing is not an  acceptable alternative for me.
    If it is a printer issue, why I can print correctly from Illustrator ???
    dec9 wrote:
     Or: you can go into windows and select a default printer or then the one you use to print with in PS. Then when you are ready to print in PS select the printer. See if that works.
    That's my normal configuration then I can't change nothing when all is ok.
    Thank you very much for your answer ! Maybe anybody have an other solution or explanation.
    Thank's for your patience.

  • Printer error with InDesign CS4

    I have the Adobe Master Collection installed on Windows 7 64bit (Pruchased through MS Volume License).  Before installing windows 7, the system had Windows Vista Business 64-bit installed and had the same problem, so it is not OS related.  Connected directly to the computer via USB cable is an HP Design Jet 130.  All programs are able to print to it without any problems including Photoshop (64bit), Adobe Acrobat, Illustrator (32bit), Excel, Word, etc.  However, when trying to print a document from InDesign, I get the following error:
    print driver host for 32bit applications has stopped working
    After click ok, the printer selection box comes up, with the post script printer selected.  When you go and try and change the printer to ANY other printer including the DJ130, I get the following error:
    Printer selection failed.  Restoring the previous selection.
    I am still able to print documents from InDesign by saving them as a PDF and then opening them and printing them with Adobe Acrobat Pro, however, I should not have to do this, and this can become very time consuming.  The printer is also shared on the network with two other computers and they have no problem printing to it from InDesign.  Before I installed Windows 7, I completely un-installed the Master Collection.  After Win7 was installed, I re-installed the Master Collection, and I was able to print perfectly from Adobe InDesign.  It seems that one of the updates breaks it's printing capabilities with this printer, or at least on this system.
    Has anyone else experienced this issue, or are there any other things that I can try to resolve this?  I have 8GB of RAM in the system and don't really see switching to a 32 bit OS to be an option as I would loose the ability to use 1/2 of my memory.

    I am having the exact same problem. I have Windows 7 Pro 64-bit and Design Premium CS 5.5.  InDesign is the ONLY program that will not print to any printer. I get the "Printer selection failed." error every time I select any printer, even the Adobe PDF one. I have a Brother printer, an HP Plotter, and even an Oce copier/printer.  InDesign gives the error no matter what printer is selected form its own list.  Photoshop and Acrobat do not give me any issues, nor does any of the MS Office programs nor Autodesk softwares.  It's only InDesign that fails.  Reparing doesn't do anything and reinstalling every printer driver is pointless because it's only InDesign that produces the error.
    Does anyone know what to do to fix this?

  • Printing problems with InDesign CS3 running on OS 10.6

    I recently upgrade my old G4 Mac (OS 10.4) to a new Mac Mini running OS 10.6.6. I am still running CS3 and have encountered only one problem. When I print multiple copies documents from InDesign that contain several layers, each copy is processed separately, so that it can take several minutes just to send the print job to the printer if I'm printing over 20 copies. Then once the print job is processed the printer pauses between every copy, which is tripling the printing time. If I print a simpler document with only one or two layers it processes all the copies at once, as it should. I am printing on an Okidata 6150 color laser printer.
    I never had this problem on my old computer. I'm wondering if this is one of the "unsupported" bugs of running CS3 on Snow Leopard. I want to make sure that this is a problem unique to running CS3 with Snow Leopard before I go ahead and upgrade to CS4 or CS5.
    computer: Mac Mini core 2 duo 2.4 ghz processors, 4 gb RAM, printer: Okidata 6150 DN color laser printer.

    Hi again Peter
    It is version 5.0.4.  I updated it when I newly installed it a week ago in my new computer, and then again updated it just yesterday.
    I might mention that before I got my new computer, I was running Mac OS 4.11, and was using InDesign 3.0.  I had bought InDesign CS3 about a year ago, but hadn't gotten around to using it since version 3.0 had been working fine, and I was used to it.  Then, when I got my new computer, I decided it was time to use the newer version.  However, while using InDesign 3.0 with the old Mac OS 4.11, a printing problem popped up there, too, a few months ago... and it also involved printing problems with Adobe Reader.  I contacted Adobe, and they sent me a patch which fixed it.  I will contact Adobe again if need be, although I thought I'd start here first to see if it was a common enough problem that someone might be able to provide a free and routine answer.
    Richard
    Date: Tue, 15 Jun 2010 20:10:13 -0600
    From: [email protected]
    To: [email protected]
    Subject: Printing problems with InDesign CS3 with Mac OS 10.6.3
    I neglected to ask what version of indesign CS3 you are using. I also 
    notice that Mac OSX 10.6.4 has just been released. It actually 
    addresses some CS3-specific issues, though they seem to be related to 
    launching the apps, not printing. It may be worth trying to update, 
    nonetheless.
    Peter Truskier
    Premedia Systems, Inc.
    510-655-4454
    >

  • Printer problem with HP Z3100

    I have been printing on my Z.3100 with CS4 Photoshop for over a year with no problem. Also was working fine with CS5 Photoshop for about a month in 64-bit mode. Now, when I select Papers/Quality the selection area is blank. This printer works perfectly fine with other applications such as Illustrator and InDesign. I switched to 32-bit mode and uninstalled and reinstalled the driver several times. I downloaded the driver again from HP and uninstalled and reinstalled and it didn't help. I then took the plunge and deactivated PS and uninstalled and reinstalled it (in 32-bit mode) and that didn't make any difference. Also, many times when I switch back and forth between Papers/Quality and other selections Photoshop crashes. Can you help. Thanks

    Thank you, C-Wave. That is what I have done. I have reinstalled each printer driver, PS and Raster, and each is assigned to its own printer (installed with HP Printer Setup Assistant). That hasn't helped. I can'tthink of anything I have added or changed that could possibly have affected the system so I am baffled.
    I am using Snow 10.6.4,  2x2.8 ghz quad-core Intel Xeon with 6 gb. Have three internal and three external drives.

  • 10.6.8 Printing problem with HP Photosmart premium C310 printer

    I hvae a Photosmart Premium C310 printer which is connected wirelessly to my network. I also have a Mac Pro which is connected to the same network by ethernet cable. Up until I updated to OS10.6.8 everything worked fine. After that I found that when I restated the printer I could see it for a short time under the printer list but then it seems to "time out" and I can no longer print to it within a couple of minutes from my Mac Pro. When I restart the printer I can also see its embedded web page again for a few minutes but then it becomes not visble.
    I also own a Macbook pro and two iphones and an ipod touch and all these wireless devices have no problem with seeing the printer and printing to it at any time. The Macbook Pro is also updated to 10.6.8 and works fine with this printer.
    It would seem that the issue is not with wireless devices but with a wired device printing to this wireless printer even though it is on the same network and on the same subnet mask.  All that has changed between working fine last week and not being recognised this week is an update to OS10.6.8
    I have restarted the Mac Pro, reinstalled the latest HP software and reset the printers wireless setup but this makes no difference.
    Is this a similar issue to what others have been reporting about a bug with printing under 10.6.8 or possibly something else. Any help here would be appreciated as I have no way of printing from my Mac Pro right now.

    Pengtao, I have plugged my Macbook Pro into the network (with Airport off) and I can no longer reach the Photosmart printer. Remove the cable and go wireless and the Macbook Pro can reach the printer again. I have installed the photosmart printer software under Windows 7 using Parallels on my Mac Pro and have no problems finding the Photosmart printer from it.
    To make matters worse I have bought a new Laserjet M1536 today and install it on my network. Again I get the same issues. I can print to it from any wireless device on the network but cannot reach it on any wired device on the network.Switch the printer off and on and I can see it and print to it for about a minute then it becomes "offline" to my Mac Pro
    Given that it works fine under Windows 7 from a Mac Pro I have to conclude that the issue must be OSX 10.6.8 and nothing else as everything worked fine before the upgrade. I have turned all device off and on , checked all cable connections and also uninstalled and reinstalled all printer drivers on the Mac Pro and cannot get it working. Any advice you may have that may solve the problem beyond it being an OSX issue will be greatly welcomed.

  • Photoshop CS4 Trial Bugs - Eraser & Text problems

    Hows everybody doing...I recently downloaded the Photoshop CS4 Extended Trial and installed it on my computer...I am noticing some bugs and im not really sure if its just a bug in the trial version which will be fixed when i buy the program or if there was an error with the install...
    I dont have screenshots at the moment since im not on the computer having the issue but i can get them if needed...
    First lets start with the eraser tool...When i set the eraser tool as a size of say about 10px it works fine...However, if i zoom in on the image above its nautral size i start to lose the eraser...When i say lose the eraser i mean you can no longer seen the round area which will be erased..When you zoom in part of the circle disappears...It will still erase and area of the set size but its sort of hard to do erasing on detailed images when you cant see the whole eraser....
    More bugs with the eraser....If i set the eraser to a larger size, say 30px or more, i right off the bat start seeing less of the eraser area....It will go from a whole circle down to something like a half moon with only half the circle being displayed...
    This may be a little hard to understand so if need be i will get some screenshots of what im talking about later....
    I am also having a problem with the text...For starters, i cant scroll through the text...When i enter text and highlight it and highlight the fonts i would expect to be able to scroll through the fonts while watching the actual text change on thet screen....I am unable to do that, i highlight the text and the fonts and CS4 will let me scroll maybe 4-5 fonts and then it just stops and wont scroll anymore...
    Another issue im having with the font is the size....Whenever i enter text it is extremely small...Even if im working with a 200px x 200px image if i set my font at say 75px its tiny, tiny enough to where i cant even see it to highlight it....There appears to be something wrong with the sizing of the text...Just to get text to show up normally, at a readable size, i have to set the font size to 800px+ and this is on images which are only like 600px wide and 300px tall...Usually a font of 800px would fill up this image but when i do it the 800px font shows up like a 36px font...
    Like i said if this is all to hard to understand i can get some screen shots later on...I wanna make sure this is something which can be fixed before i go ahead and drop 700+ on the program...

    Yes i installed the patch...That was the first thing i did, before checking the video driver...The patch didnt fix any of the problems im having...The video driver update did however fix the eraser/brush issue...
    I did what you said in post #1 about un-checking the option listed....When i did that nothing changed for me....
    I have some more details about the scrolling issue though....From what i am able to find it seems that if i just enter digits i am able to scroll through the entire list of fonts and see a live preview of every single one....
    With any sort of text it will only allow me to scroll through 5-6 fonts...You can see that it wants to scroll more when i hold the arrow down cause you can see the blue hightlight flashing and the words trying to change but it just wont go any further...At times when i hold the arrow down to scroll through the fonts it will scroll through 5-6 and then all of a sudden just go white and wont let me scroll up or not...At that point i have to select the font list and pick a font

  • 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;

  • Blocking bug with 10.8.3+Adobe Lightroom+Canon iPF5000 (but workaround found)

    Hi all,
    since I have updated my MacBook Pro (early 2011 model) with 10.8.3, I have a blocking bug with Adobe Lightroom (either 4.3 or 4.4) for launching prints on my Canon iPF5000 (firmware 1.33, either MacOS driver 2.67 or 3.06, connection through USB).
    When I was under 10.8.2 with the Canon's driver 3.06, everything works fine.
    Basically, after clicking Print a Copy or Print... in Lightroom, the file spooled to the driver stays in MacOS printer queue. Within the printer queue window, the printer is in pause mode, and each time I try to resume the printing processing, the driver put it on hold immediately. When I look into the history on the Console, the driver complains about an unknown error... The data stay within the driver, as my Canon iPF5000 "Data" led indicator stays unlit.
    My print settings are 600dpi or 300dpi, print sharpening Standard/Glossy, 16 bit output. And Color managed by printer (because I let the Canon driver managing my B&W prints).
    Strangely enough, when I launch a print from Preview application, the drivers does its job and sends it successfully to my Canon iPF5000...
    As this was driving me crazy, I have tried a clean install of MacOS 10.8.3 (as 10.8.2 is no more available from Apple servers...). No success, same blocking issue.
    Eventually, I've found the workaround: using the imagePROGRAF Advanced Preview. You have to click on "Print..." in Lightroom in order to see the driver settings window, and then check the "Preview before printing" option in the main tab of the driver settings. Then I can preview my Lightroom printing work and then launch successfully my printing.
    Simple workaround, but very strange bug...
    For me, the root cause could be multiple and not very obvious.
    Is it Mac OS 10.8.3 ? But why can I make prints from Preview application for instance, and not from LR ?
    Is it the Canon driver ? But this lead me to the same question.
    Is it Lightroom ? Does it send corrupted data that make the driver crazy but not the imagePROGRAF Advanced Preview ?
    So, if any user of Canon iPF5000 + Mac OS 10.8 + Lightroom is around, please share your experience.
    And if any Apple, Adobe or Canon engineer read this, please try to fix this.
    Happy printing,
    Amaury

    It's different how applications write print data. If you use Advanced Preview from the driver then it calculates already the output which afterwards is only sent to the printer.
    Have you once tried to print with fast graphic process switched off (option of advanced settings)?
    Hope it helps
    Renate

  • Printing Problems with Lightroom 5

    I cannot get Lightroom 5 to print to my Epson 3880 in Mac OS X 10.8.4.  Lightroom 4 works just fine.  However, from Lightroom 5, it starts spooling and then nothing happens.
    I've tried reinstalling drivers, restarting CUPS, rebooting, restarting Lightroom, power cycling the printer, etc. etc.   Lightroom 4 works great, Lightroom 5 does not.  This appears to clearly be a bug with Lightroom 5.
    Any suggestions?
    Keith

    Sounds like you may have a corrupt preferences file: http://www.lightroomforums.net/showthread.php?14226-Resetting-(or-Trashing-)-the-Lightroom -Preferences-file

Maybe you are looking for

  • Adobe CS 2.3 won't run, uninstall or reinstall

    Hello, I have submitte a help ticket with the tech support through adobe, however their response lead me to an outdated (website no longer there) response. I was hoping that someone here might have a better response for me. I just purchased a new com

  • "iTunes has encountered a problem and needs to close. We are sorry for the inconvenience."

    please... help. i can't to sync my tones to my ip5s. i don't know why.... "iTunes has encountered a problem and needs to close. We are sorry for the inconvenience." "Please tell Microsoft about this problem." And bla bla bla... Already send error rep

  • How to recreate iPhoto from an external HD back up

    Hi all - I have a clean back up of my iPhoto '06 libraries on my LaCie external HD, which is a good thing, because iPhoto on my MacBook Pro, OS X 10.5.2 was corrupted (I wrote about this previously, I made the mistake of editing one of my folders in

  • Current Date - 91 days

    I am trying to imbed a formula that will look pull in the current date, then subtract 91 days from it. I am wondering if anyone can help me with it? Tried: timestampadd(SQL_TSI_DAY, -91,Date) ADDDATE(CURRENT_DATE, INTERVAL 91 DAY); Thanks,

  • Can i restore deleted sound recordings?

    i accidently uninstalled windows sound recorder so i reinstalled it to get it back but i lost all the recordings on it. Is there a way to get them back? Thanks