У меня есть print
метод ниже от класса:Java Печать: Определить страницу, печать
public void print(EditorPanePrinter epp) {
try {
PrinterJob pj=PrinterJob.getPrinterJob();
boolean ok = pj.printDialog();
if(ok) {
pj.setPageable(epp);
pj.print();
}
} catch (PrinterException e1) {
e1.printStackTrace();
}
}
EditorPanePrinter
является JEditorPane
обернут JPanel
для печати предпросмотра. См. here.
После нажатия «ОК» в диалоговом окне печати страница печатается правильно с принтера.
Для печати более 1 страниц, особенно с большим количеством страниц для печати, я хочу показать диалоговое окно, на котором печатаются страницы: «Печать страницы 1 из 100» при печати первой страницы «Печать страницы 2 из 100 «когда печатается вторая страница и т. д.
Я искал всюду, и я не нашел решения. Как это сделать?
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
Спасибо. Я понимаю. Можете ли вы опубликовать SSCCE, в частности, о том, как я могу получить 'pageIndex' из' 'print()' Printable' '' методу 'doInBackground()' 'SwingWorker'? Из того, что я знаю, 'pj.print()' метод из кода выше блоков. –
«pageIndex» передается на интерфейс «Printable», вы читали связанные JavaDocs, это основная печать 101 ... – MadProgrammer
Благодарим вас за понимание. Я сделал, чтобы создать класс-оболочку, расширяющий 'EditorPanePrinter', поэтому я могу получить' pageIndex' и обновить диалоговое окно, чтобы показать страницу, напечатанную в настоящее время. –