This week's book giveaway is in the Agile and other Processes forum.
We're giving away four copies of The Mikado Method and have Ola Ellnestam and Daniel Brolund on-line!
See this thread for details.
The moose likes Swing / AWT / SWT and the fly likes Page size when printing html from JTextPane Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


Win a copy of The Mikado Method this week in the Agile and other Processes forum!
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Reply Bookmark "Page size when printing html from JTextPane" Watch "Page size when printing html from JTextPane" New topic
Author

Page size when printing html from JTextPane

Chris Behr
Greenhorn

Joined: Jun 12, 2001
Posts: 17
I have a JTextPane that reads a .htm file and displays it. If I change the font size it changes the appearance on the JTextPane but when I try to print the data looks the same. I have a large html table and I can only get 20 columns on one page. I would like to shrink the table down so I can get more on a page. Here is the code I am using to print the JTextPane:
private void startPrint() {
try{
PrinterJob prnJob = PrinterJob.getPrinterJob();
prnJob.setPrintable(this);
if(!prnJob.printDialog())
return;
prnJob.print();
}
catch (PrinterException e) {
e.printStackTrace();
System.err.println("Printing error: "+e.toString());
}
}
public int print(Graphics pg, PageFormat pageFormat,
int pageIndex) throws PrinterException {
Dimension d = prtPane.getSize();
double panelWidth = d.width;
double panelHeight = d.height;
double pageHeight = pageFormat.getImageableHeight();
double pageWidth = pageFormat.getImageableWidth();
double scale = pageWidth/panelWidth;
int totalNumPages = (int)Math.ceil(scale * panelHeight / pageHeight);
if(pageIndex >= totalNumPages)
return Printable.NO_SUCH_PAGE;
Graphics2D g2 = (Graphics2D)pg;
g2.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
g2.translate(0f, -pageIndex * pageHeight);
g2.scale(scale, scale);
prtPane.print(g2);
return Printable.PAGE_EXISTS;
Does anyone have any ideas on how to fix this?
Thanks
selvas kumars
Ranch Hand

Joined: Jan 06, 2001
Posts: 115
Hi Chris,
I want a solution from you.
Are you using textpane.setEditorKit(new HTMLEditorKit()) and
setting the doc to the textpane?? If so how to make the portion of the text in the textpane to be (bold,italic,unedrline,foreground) by selecting and clicking buttons on the toolbar on the top??
Chris Behr
Greenhorn

Joined: Jun 12, 2001
Posts: 17
No I don't use the HTMLEditorKit. I just create the html in a file and then use .setPage( to insert the HTML into the JTextPane. I still haven't figured my problem out. I can change the font size and it affects how it looks on the JTextPane but when I print it always comes out the same size. Does anyone have any ideas?
Niranjan venkatachari
Greenhorn

Joined: May 19, 2003
Posts: 1
Hi Chris,
I am facing the same problem while using the JEditorPane..I hope by this time u would have found solution for it..It would be highly helpful if you could let me know..
Best Regards,
Niranjan
 
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to run our stuff on 16 servers instead of 3.
 
subject: Page size when printing html from JTextPane
 
Similar Threads
Print a JTextArea
Printing Problem to print header
jpanel printing
Printing Contents of JTextArea
printdialog properties..