помогите новичку разобраться, двусторонняя печать рисунков по ссылкам, код ниже выдает чистый лист
Код:
package printj2;
import javax.print.PrintService;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.OrientationRequested;
import javax.print.attribute.standard.Sides;
import javax.print.attribute.standard.*;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.print.Book;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import static java.awt.print.Printable.NO_SUCH_PAGE;
import static java.awt.print.Printable.PAGE_EXISTS;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.io.InputStream;
import java.net.URL;
import java.awt.*;
public class PrintJ2 {
public static void main(String[] args) {
try {
//This are for configuration purpose
String orientation = "LANDSCAPE";
String duplexMode = "LONG_EDGE";
int pageOrientation = 0;
PrintRequestAttributeSet atr = new HashPrintRequestAttributeSet();
atr.add(MediaSizeName.ISO_A4);
atr.add(OrientationRequested.LANDSCAPE);
pageOrientation = PageFormat.LANDSCAPE;
atr.add(Sides.TWO_SIDED_SHORT_EDGE);
//Printing to the default printer
PrintService printer = javax.print.PrintServiceLookup
.lookupDefaultPrintService();
//Creating the printing job
PrinterJob printJob = PrinterJob.getPrinterJob();
printJob.setPrintService(printer);
Book book = new Book();
PageFormat pageFormat = printJob.defaultPage();
pageFormat.setOrientation(pageOrientation);
// Appending a exampledocument to the book
book.append(new LoadUserImage(), pageFormat);
// Appending another exampledocument to the book
book.append(new LoadUserImage(), pageFormat);
// Setting the Pageable to the printjob
printJob.setPageable(book);
try {
// Here a could show the print dialog
// printJob.printDialog(atr);
// Here I pass the previous defined attributes
printJob.print(atr);
} catch (Exception PrintException) {
PrintException.printStackTrace();
}
} catch (PrinterException ex) {
ex.printStackTrace();
}
}
public static final int MARGIN_SIZE = 72;
private static class LoadUserImage implements Printable{
//Image image;
public int print(Graphics g, PageFormat pageFormat, int page){
Graphics2D g2d = (Graphics2D) g;
g2d.translate(pageFormat.getImageableX(),pageFormat.getImageableY());
if (page <= 1){
try{
if(page == 0){
Image img = Toolkit.getDefaultToolkit().getImage("урл1");
g2d.drawImage(img,0,0,null);
}else{
Image img = Toolkit.getDefaultToolkit().getImage("урл2");
g2d.drawImage(img,0,0,null);
}
}catch(Exception e){
System.out.println("Exception: " + e.getMessage());
}
return (PAGE_EXISTS);
}
return (NO_SUCH_PAGE);
}
}
}