Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Java
Перезагрузить страницу двусторонняя печать
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
alexlih alexlih вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 22.05.2018
По умолчанию двусторонняя печать - 22.05.2018, 16:32

подскажите новичку, как заставить печатать 2 рисунка двусторонне по ссылкам, в данный момент выдается чистый лист
Код:
    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);
            }
        }
    }
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печать в Harbour Vladimir6 Любые вопросы от новичков 0 07.12.2016 14:37
Печать в с++ Builder Mat Bourn Вопросы начинающих программистов 1 10.06.2015 15:42
Печать докУментов WinUser Любые вопросы от новичков 6 30.06.2012 21:28
Печать содержимого в C++ Артём Фирсанов C++ Builder 3 22.01.2012 01:21
Печать строки Aram PHP 3 26.07.2010 07:51
Ч.б.печать sibinfo Периферия 2 26.01.2010 21:45
доб. эел. в список и печать. tsi Prolog 9 11.05.2009 01:22
VBA_Отладочная печать _rav Visual Basic 0 12.11.2006 22:17
Печать в Windows XP dimmf WinAPI 1 21.05.2006 00:22
Печать кавычек spin Pascal 3 09.04.2006 17:17
Как организовать печать в VC++ imported_TT Вопросы начинающих программистов 1 26.10.2004 12:45
Печать в Windows Postum Железо. Написание драйверов 6 25.05.2004 12:43



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов