Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 22.05.2018, 16:10   #1
alexlih
Новичок
 
Регистрация: 22.05.2018
Сообщений: 1
Репутация: 10
По умолчанию двусторонняя печать рисунков

помогите новичку разобраться, двусторонняя печать рисунков по ссылкам, код ниже выдает чистый лист
Код:

    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);
            }
        }
    }

alexlih вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двусторонняя печать в Word Ramilkaz Microsoft Office Word 0 13.04.2018 18:50
Двусторонняя печать из макроса на принтер с дуплексом s-alf Microsoft Office Word 0 25.05.2015 16:26
Rave двусторонняя печать справа налево notsliva БД в Delphi 0 20.09.2014 20:35
Двусторонняя печать и разрывы страниц DiemonStar Microsoft Office Excel 0 29.03.2013 13:44
двусторонняя печать отчетов Alex&R Microsoft Office Access 3 15.01.2010 10:11


14:42.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru