Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
String path;
String printName;
int copies;
[....]
PdfDecoder decodePdf = new PdfDecoder(true);
try {
decodePdf.openPdfFile(path);
FontMappings.setFontReplacements();
} catch (Exception e) {
e.printStackTrace();
}
PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet();
JobName jobName = new JobName(printName, null);
attributeSet.add(jobName);
attributeSet.add(new Copies(copies));
System.out.println(anzahl);
decodePdf.setPrintAutoRotateAndCenter(true);
decodePdf.setPrintPageScalingMode(PrinterOptions.PAGE_SCALING_NONE);
try {
decodePdf.setPagePrintRange(1, decodePdf.getPageCount());
} catch (PdfException e) {
e.printStackTrace();
}
PrintService[] services = PrintServiceLookup.lookupPrintServices(DocFlavor.SERVICE_FORMATTED.PAGEABLE, attributeSet);
for (PrintService s : services) {
System.out.println(s.getName());
}
PrintService printingDevice = null;
for (PrintService s : services) {
if (s.getName().equals("Canon MP560 series Printer")) {
printingDevice = s;
}
}
PdfBook pdfBook = new PdfBook(decodePdf, printingDevice, attributeSet);
SimpleDoc doc = new SimpleDoc(pdfBook, DocFlavor.SERVICE_FORMATTED.PAGEABLE, null);
DocPrintJob printJob = printingDevice.createPrintJob();
try {
//printJob.addPrintJobListener(new PDFPrintJobListener());
printJob.print(doc, attributeSet);
} catch (PrintException e) {
e.printStackTrace();
}
[....]
javax.print.PrintException: Printer is not accepting job.
at sun.print.Win32PrintJob.print(Unknown Source)
at de.Lucas.Rechnung.SilentPrint.printPages(SilentPrint.java:222)
at de.Lucas.Rechnung.SilentPrint.decodeAndPrintFile(SilentPrint.java:177)
at de.Lucas.Rechnung.SilentPrint.<init>(SilentPrint.java:78)
at de.Lucas.Rechnung.SilentPrint.main(SilentPrint.java:418)
try {
printJob.print(doc, attributes);
}
catch (Exception e) {
e.printStackTrace();
}