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?

Similar Messages

  • Trying to create logical page numbers

    I'm working in Acrobat XI 12.0.02 (Architecture: i386, Build: 11.0.01.36, AGM: 4.28.131, CoolType: 5.11.131, JP2K: 2.0.0.26752.) I'm on a top-of-the-line iMac under OS X 10.7.5.
    I'm trying to set up logical page numbers in an existing PDF file from archive.org. This is one of their rather fancy PDF's that has invisible searchable text over the page image. Really nice to work with, but in this case, the original book has very strange page numbering. The original editor decided that illustrations, figures and blank pages would not be numbered. Instead, the numbering skips to the next text page. That makes it a massive pain in the neck to try to get to any particular page in the book. I will be using this book extensively for months to come, so it's well worth my time to fix this by setting up logical page numbers. The original file has no security set of any kind.
    In Acrobat XI, Preferences, Page Display, I've checkmarked "Use logical page numbers."
    In the Page Thumbnails tab, I've selected a range of pages (7-16 in the original book.) I right-click on the selected page range. I select Number Pages. The "Pages" part of the dialog box comes up with "Selected" marked. The "Numbering" part of the dialog box comes up with "Begin new section." "Style" is set to None. "Prefix" is blank. I set "Start" to 7. I hit OK. I see no error messages. I see nothing in the page number box in the navigation bar. I see no page numbers in the Page Thumbnail tab. Entering page 10, for example, in the page number box takes me to the Acrobat page 10, not to the logical page 10. Saving and re-opening the file in Acrobat XI doesn't work, nor does opening the file in Acrobat Reader 10.1.6 work.
    What's wrong? What am I missing?

    Thanks for these scripts, they will be very helpful.
    My main problem is understanding the integration of the javascript with the pl/sql as the values in both the lovs need to be dynamic (the values in both tables could potentially change quite often). I need to take the value selected in the first lov (using javascript I think) and pass it somehow to the pl/sql select statement to get the values to be used as the options in the second.
    Any guidance on combining the use of javascript and pl/sql would be most welcome.

  • How to use logic page numbers on android device?

    I have some pdf files which include a few pages with table of contents, this  way i changed the meta data of the pdf document and set up logical page count on my computer. Works great on my windows pc, but when i transfer these pdf's on my android device the android version of adobe does not show pages in not logical page count. Is there a possibilitx to show pdf's with logical page count using the android version of adobe reader?

    Easy dial you mean? Not all region's firmware are having this feature if I don't remember wrongly..
    Press any numbers on the standby screen > options > easy dial
    If the easy dial word is there, that means you have this feature enabled for your region.

  • Force logical page numbers?

    Is there a way to force my documents to open with this preference
    setting ("Use logical page numbers") turned on? I have this turned on,
    and my documents sometimes begin on a number other than 1, but my client
    has it turned off. I want him to be able to type in, for instance, 73,
    and have it take him to the 3rd page in a file that begins on page 71.
    Kenneth Benson
    Pegasus Type, Inc.
    www.pegtype.com

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

  • Open parameters with roman page numbers

    Trying to use #page=nn to go to a specific page in a PDF file.  My code is an html http link and the PDF file is on a server elsewhere.  #page=nn works fine with arabic page numbers, but not with roman numerals used in the PDF file preface, foreword, etc.  The PDF file shows "i", "ii", etc. in the Adobe Reader page box.  There is "(1 of 8)" shown to the right of that box.  I can use a keyboard shortcut (shift-ctrl-n) to search for ii and it correctly goes to the second page.  Uppercase (II) does not work, however.  I tried #page="ii" in an attempt to preserve the lowercase parameter but no luck.
    Any ideas?  Thank you.
    Ralph

    This forum is not meant as an access hub to ask people write you free custom scripts.
    .. But -- fortunately for you, this particular question was interesting enough to spend 5 minutes on. It turned out to be as easy as I initially thought:
    app.findGrepPreferences = null;
    app.findGrepPreferences.findWhat="\\d+[-~=]\\d+";
    r = app.activeDocument.findGrep(true);
    while (r.length)
        t = r.pop();
        s = t.contents.split(/\D/);
        s[1] = s[0].substr(0,s[0].length-s[1].length)+s[1];
        s[0] |= 0; s[1] |= 0;
        u = s[0];
        while (s[0]++<s[1])
            u+=', '+s[0];
        t.contents = u;

  • Distiller 8 stripping logical page numbering

    A client has set up a repurposing workflow that requires us to save PDFs as Postscript, and then run new Distiller settings on the Postscript file.
    When we run the process in Acrobat & Distiller 8, the logical page numbering is stripped (that is, if the first page of the original page showed as Page 19 (1 of 26), after processing it reverts to Page 1 (1 of 26)).
    The client says this does not happen in Acrobat/Distiller 7, and we have confirmed this. Processing the files in Acrobat/Distiller 7 is not a very useful option for us, as most of our workstations have moved to Leopard, and therefore cannot distill files reliably using Distiller 7. We are working around the problem by manually resetting the logical page numbering in the PDFs after processing--an extra step.
    Here's my question: has anyone else experienced this behavior? Any idea why the process would strip the page numbering in version 8, but not in version 7? If anyone has experienced this, have you found a setting that prevents the problem in version 8?
    Thanks very much.

    Jon,
    Thanks for your reply. It's not a workflow we would have designed; the client insists upon it, however, and it does seem to get them what they want, except for the page numbering problem.
    Upon testing the setting you suggest, the "Preserve Document Info from DSC" option appears *not* to preserve logical page numbering. It preserves other information--title, creation date, and time--but not the logical page numbers. It was a good suggestion, though. Perhaps that parameter was left out when the code was rewritten for Acrobat/Distiller 8...
    Yours,
    David

  • Logical page numbering in SDK

    Hi
    Does somebody know of a way to retrieve the logical page numbering of a page in the SDK? I'm using the IAC OLE interface in VBA for Excel, and I'd ideally like to go to the page specified by it's logical page number (section numbering), something like:
    Set AView = AcroAVDoc.GetAVPageView()
    AView.GoTo("1-13")
    However the only option appears to be to supply the page's absolute number to the GoTo function. I'm not afraid of using another interface if its available to me, but from all my research I can't turn up anything describing what I'd like. From what I can see, logical numbering only exists in the Acrobat application.
    Sombody asked a similar question in another forum but it wasn't answered, I'm hoping this is a better place for it:
    http://forums.adobe.com/thread/507321
    Thanks in anticipation, Andrew

    Actually I can get the page labels (logical numbers) using the JSObject interface getPageLabel function on the document, then open to the absolute page number. This way it looks like the hyperlinks are going to the logical page numbers.

  • Getting chapter numbers to show up in the TOC with the page numbers...

    First, thank you all very much for posting replies.  This forum is wonderful.
    I have a doc that needs to have the chapter numbers show up with the page numbers in the TOC.
    I insert the <$chapnum> and <$currentpagenum> in the footer, and I get 1-1 to show up.
    To include the 1-1 in the TOC, do I have to edit the Reference Page, or is there another way.
    Thank you SO much for your help!!!!!!!!!!!!!

    Thank you VERY much!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Got it to work.  However, my TOC will not update with the new building blocks.
    Have played and played with it.  Any suggestions?
    Thank you!!!!!!!!!!!!!!!!

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

  • ID CS5 - problem with 2 page numbers in the same page

    Until InDesign CS3 I could put 2 page numbers in one page, either in document pages or in master pages, using 2 linked text frames, one in each of the pages I wanted to see the numbers. And this worked fine!
    In CS4, this stopped working in master pages. I had to override the text frames from master pages (ctrl/cmd + shift click on the text frames) to get this working, and I had to this in ALL document pages.
    I was hoping this problem was solved in CS5 but... the problem got worst!!! Now, not only I have to override the text frames, but I have to erase the markers and put them there again. Which means I have to put page markers individually in ALL pages.
    I wonder if there is a new way to do this? Does any one have the answer?...
    If not... I really really hope someone from Adobe reads this forum and try to solve the problem, because this is a great inconvenience...
    Thanks for any help

    Hi, Jongware,
    It is a bug since CS4, agravated in CS5, because until CS3 it worked very well.
    In fact, it worked through out a lot of pages. I think this was not created only to pages side-by-side but in fact to those articles that continued several pages ahead. So, in a magazine, when one has to break an article and continue this article in other page, one could (and still can) put a text frame in the of the first part of the article and type "Continue on [next page marker]". Then link this text frame with a new text frame on the page where the article continues, (on top of 2nd part of the article) and type "Continued from [previous page marker]".
    This situation – where text frames are in the document pages – still works fine.
    The problem is when this is a constant and you want to put it in master pages, and now it simply does't work. I mean, when every odd or even pages have both numbers. For me, it's a major problem, because several of my clients just love this!
    Is anyone of Adobe reading this? Are you going to help us and fix this problem, please?...

  • 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

  • Printing Problem with changed page

    I have a 2 page PDF document that is created by another program. When I make a change on the second page and save using Acrobat 9 Pro, I am unable to print the page that the changes are on. The messages I get are " Document could not be ptinted" and then "No pages selected to print", even through I have selected the pages to print.

    The program creating the file is ReScan. I can print the file before I open with Acrobat. If I make any changes to the file, I am unable to print from Acrobat those pages which had changes made, even thou they show on the monitor fine. If I print to CutePDF Writer instead of directly to one of my three printers (I get the same result with all three different printers) then I can print the CutePDF Writer file.
    The fonts I am editing are installed on my system. Not sure what I am doing wrong to cause the program not to print. Don't want to have to use CutePDF every time I need to print. The program should be able to print an edited and saved document.
    Any help would be appreciated. Thanks.

  • Iweb  FTP,Printing probems with Iweb .Pages to Web

    I feel like writing Steve Jobs.Problems -I had Iweb 08 , upgraded to Iweb09 because of the press how FTP was solved. I cannot upload to my server. I have spent hours talking to Apple Care reps.I have tried several FTP softwares other than Iweb.One rep told me they do have a problem with FTP out of Iweb to Microsoft base servers.Solution given and tried - first publish to a folder on the desktop and burn a cd for the host provider.Does not work. Next publish to documents and burn a CD and still garbage on the CD for my host provider. I have images and get the message"can't create the file shapeimage- 2png and the results all my images that are referenced as Fig 1 and so on well the figures get place all over and not in the proper location on all the CD burnt. So I cannot publish to the host. Second as of today and after two hours talking to Apple Care with Iweb, I have lessons as lesson 1 2 3 and so on. Well the lessons show up in full in view , but when i go to print if the lesson is 15 pages it will only show 9 in the preview print window and only print 9 pages but viewing the lesson in Iweb all pages show up as all 15. I tried all the recommendations from Apple Care . They do not know why the problem exist. They said maybe with Iweb 09 they limit how many pages you can have in a text box? They have no written notes that this is the case though. I think the problem has to do with something related to in preview it shows the pages as being PDF now when it scroll through the preview showing the pages and maybe this somehow as a default will not allow printing all pages. So I have 15 pages to print out in Iweb and when I go to print it previews and stops at page 9, but the remaining pages still there to view in Iweb. Page allows me to send the info in Iweb out now but it excludes the images so sort of messy. It did not allow this s before . I upgraded to Iweb 09 and have Pages 08, and bet if I install Pages 09 I wont be able to send anything from Iweb to Pages. They do allow you to send information from Pages to Iweb so why not the reverse?My last though is to send from Iweb to Pages, do the massive amount of images again but in Pages and then can I send this as PDF to a Microsoft server and get my website up and running. The problem is not my host it is Apple. FTP does not work ? I have intel chips . Any way to exit Iweb to go to a Microsoft server some clever way here?The monster problem with Iweb is that if you want even a small business everyone has to have the same password so if you want access limited to maybe paying subscribers forget it . Everyone has to be given the same password access so they can pass the password around and every is there for free. Anyone know of a tag on product to handle E-mail password allocation instead of hiring a heavy PHP programmer?. Still going to have a host out of Iweb and this seems impossible. Any help from the knowledgeable - 25 hours wasted so far here.

    I'm turning your post into paragraphs so I (and other peiople) can actually understand it:
    Problems -I had Iweb 08 , upgraded to Iweb09 because of the press how FTP was solved. I cannot upload to my server. I have spent hours talking to Apple Care reps.
    I have tried several FTP softwares other than Iweb.One rep told me they do have a problem with FTP out of Iweb to Microsoft base servers.Solution given and tried - first publish to a folder on the desktop and burn a cd for the host provider.Does not work.
    Next publish to documents and burn a CD and still garbage on the CD for my host provider. I have images and get the message "can't create the file shapeimage- 2png" and the results all my images that are referenced as Fig 1 and so on. well the figures get place all over and not in the proper location on all the CD burnt. So I cannot publish to the host.
    Second as of today and after two hours talking to Apple Care with Iweb, I have lessons as lesson 1 2 3 and so on. Well the lessons show up in full in view , but when i go to print if the lesson is 15 pages it will only show 9 in the preview print window and only print 9 pages but viewing the lesson in Iweb all pages show up as all 15.
    I tried all the recommendations from Apple Care . They do not know why the problem exist. They said maybe with Iweb 09 they limit how many pages you can have in a text box? They have no written notes that this is the case though. I think the problem has to do with something related to in preview it shows the pages as being PDF now when it scroll through the preview showing the pages and maybe this somehow as a default will not allow printing all pages.
    So I have 15 pages to print out in Iweb and when I go to print it previews and stops at page 9, but the remaining pages still there to view in Iweb. Page allows me to send the info in Iweb out now but it excludes the images so sort of messy.
    It did not allow this s before . I upgraded to Iweb 09 and have Pages 08, and bet if I install Pages 09 I wont be able to send anything from Iweb to Pages. They do allow you to send information from Pages to Iweb so why not the reverse?
    My last though is to send from Iweb to Pages, do the massive amount of images again but in Pages and then can I send this as PDF to a Microsoft server and get my website up and running. The problem is not my host it is Apple.
    FTP does not work ? I have intel chips . Any way to exit Iweb to go to a Microsoft server some clever way here?
    The monster problem with Iweb is that if you want even a small business everyone has to have the same password so if you want access limited to maybe paying subscribers forget it . Everyone has to be given the same password access so they can pass the password around and every is there for free.
    Anyone know of a tag on product to handle E-mail password allocation instead of hiring a heavy PHP programmer?. Still going to have a host out of Iweb and this seems impossible. Any help from the knowledgeable - 25 hours wasted so far here.
    So from what I can make out, your problems are:
    1. Uploading to FTP/publishing
    2. Printing
    3. iWeb and Pages use
    4. Password protection in iWeb
    Ok, so for a website you don't want to be burning things to CD or converting a whole site into PDF format. You want individual webpages with proper formats. There's little point in exporting from iWeb to Pages because if you want the webpage info on paper, you print it. If you want to send it to someone, you send them your webpage address. (However, copying from Pages to iWeb is useful for easy publishing from existing documents or drafts).
    Your print preview may be a problem, but as long as everything's printed it doesn't make any difference? Not sure what you're trying to say here, and not sure why you're printing webpages anyway? You can take screenshots of your webpage if that's easier.
    It sounds like you are trying to cram far too much information in. Try uploading a very simple page with a couple of lines of text via FTP and see if that works. Which webhost are you using, or are you doing it all on an internal server? If you are, I recommend trying to use the web to upload something just to check.
    iWeb isn't designed for businesses, and in fact is against Apple's terms of service. It sounds like you really need to employ someone who knows what they're doing. If you don't want to spend the money on a programmer, try hiring a couple of university students studying business/IT, or at least have a temp to consult and tell you what you need. It sounds like you've got yourself into a real tangle.

  • 2 spreads with same page numbers

    Hi everyone,
    I'm having an issue with indesign: I have 2 spreads in the document with the same page numbers (even in the pages panel).
    I created one new spread and placed it before the other.
    This is a problem since the page numbering inherit this.
    I tried to solve it myself, then I googled the problem, but i found nothing.
    Anyone knows how to solve it?
    Thanks!

    The small black triangle above the second page 4 is a new section marker. In the pages panel highlight the second page 4 then select numbering and section options and change the start page to 6.
    Oops I sent this before I saw your second post.

  • How to print ALV with full page width used?

    Dear all,
    I have a report which print out with a small font if some of the fields have a long data content, while there a large white space on the right hand side.
    After a few test, I think the following cause the problem:
    1) The line column is less then the page column
    2) The setup leave write space unused in the right side
        (Tested by setup a format which have the same column count as the testing print out data)
    Would like to know are there any work around on this.
    Regards
    Bill
    Edited by: Bill Chie on Jun 13, 2011 7:23 PM

    Hi Wiz,
    Thanks for the information.
    But it look like that it only affect the column width but not the migrate, anyone have any idea about the migrate setting?
    And I would like to know if I can:
    - Setup a limit for the long text limit
    - It the text over the limit, go to 2nd line
    Regards
    Bill

Maybe you are looking for

  • HP Smart Web Printing Select Button does not appear

    Just started to use Smart Web Printing. The Select Button as shown in the help file does not appear on the screen. Instead, a small box "x Select area to remove" shows within the area to print. Printer: HP Photosmart C6380 System: Windows Vista SP2 H

  • Jar file for starterwebapp||

    hello , i am trying to run sample web application and could not get the jar file for import oracle.ifs.common.IfsException; import oracle.ifs.management.domain.HttpServletNodeUtilities; import oracle.ifs.management.domain.Server; from where i can get

  • COLOR vs FCP - three-way color corrector adequate?

    The route between FCP and Color doesn't always seem to be entirely smooth. I've realised I can get very similiar grades with the FCP color corrector. Obviously, I don't have the scopes and displays. But I can do pretty well 'by eye'... I assume for b

  • Em does not start after servername has changed

    Is there a possibility to get the datanbase running in an ordinary way after the servername has changed after the installation of the database? System: Windows Server 2003R2 Oracle 10g R2 I have changed tnsnames.ora and listener.ora, so the client co

  • Attaching a document to a specific Journal entry

    I have been trying to figure out if there is a preconfigured system method to attach a document to substantiate a Journal Entry.  So the document should be linked to the Journal ID number (not to the intersection of other dimensions) Thank you