Zdravím, mám dotaz ohledně tisku v javě.
Lze tisknout HTML dokument s funkčním layoutem (mám na mysli aby se nevytiskl jen text, ale i například tabulky, atd..).
Skoušel jsem následující kod:
FileInputStream psStream = null;
try {
psStream = new FileInputStream("./3.html");
} catch (FileNotFoundException ffne) {
System.out.print("Nepodařilo se načíst soubor pro tisk");
return;
}
if (psStream == null) return;
DocFlavor psInFormat = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_8;
Doc myDoc = new SimpleDoc(psStream, psInFormat, null);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new JobName("Tisk M.C.M.", null));
aset.add(MediaSizeName.ISO_A4);
PrintService[] services = PrintServiceLookup.lookupPrintServices(psInFormat, aset);
if (services.length > 0) {
DocPrintJob job = services[0].createPrintJob();
try {
job.print(myDoc, aset);
} catch (PrintException pe) {
System.out.print("Nepodařilo se vytisknout.\nChyba: " + pe.toString());
}
} else {
System.out.print("Nepodařilo se nalést tiskárnu vhodou pro tisk.");
}
ale nějak mi PrintServiceLookup.lookupPrintServices() nenalézá tiskárnu nevím proč. U normálního TEXT_PLAIN_UTF8 to funguje bez problémů. A i kdyby to bylo mou starou tiskárnou, myslím si že by mi java měla nabídnout alestpoň Print to PDF.
Dík za rady