Can anyone recommend resources or techniques for precise line placement for output to printers? As a simple example I would like to be able to output evenly spaced lines (eg graph paper) to any printer, but regardless of the resolution, or rendering hints, I seem to get lines of slightly different thicknesses and position no matter what I do. I have tried drawing the lines by using Graphics2D.fill on a Rectangle2D with a single unit thickness instead of Graphics2D.draw, and that produced better results, but the line thicknesses are still not all the same, and the differences seem to vary from printer to printer. Is there a a special technique for this in the Java 1.4+ world? Can this even be done in a printer independent way in java? Here's my original test case: public class PrintTest implements Printable { public int print (Graphics g, PageFormat format, int pageIndex) { if (pageIndex != 0) return NO_SUCH_PAGE; Graphics2D g2 = (Graphics2D) g; g2.translate (format.getImageableX (), format.getImageableY ()); int cellSize = 10; // Arbitrary int hcells = (int) (format.getImageableWidth () / cellSize); int vcells = (int) (format.getImageableHeight () / cellSize);
for (int x = 0; x <= hcells; ++x) g2.drawLine (x * cellSize, 0, x * cellSize, vcells * cellSize); for (int y = 0; y <= vcells; ++y) g2.drawLine (0, y * cellSize, hcells * cellSize, y * cellSize); return PAGE_EXISTS; } public static void main (String [] argv) { try { PrinterJob job = PrinterJob.getPrinterJob (); job.setPrintable (new PrintTest ()); if (job.printDialog ()) job.print (); } catch (Exception e) { e.printStackTrace (); } } } [Message sent by forum member 'jawathehut' (jawathehut)] http://forums.java.net/jive/thread.jspa?messageID=323696 =========================================================================== To unsubscribe, send email to lists...@java.sun.com and include in the body of the message "signoff JAVA2D-INTEREST". For general help, send email to lists...@java.sun.com and include in the body of the message "help".