나는 doPDF 프린터 드라이버를 설치했으며 자바에서 HTML을 사용하여 PDF로 변환하려고합니다.자바 인쇄 html as pdf
PrintService service = getPrinterByName("doPDF");
DocPrintJob printJob = service.createPrintJob();
Doc document = new SimpleDoc(conn.getInputStream(), DocFlavor.INPUT_STREAM.AUTOSENSE, null);
PrintRequestAttributeSet attr = new HashPrintRequestAttributeSet();
File f = new File(new File(System.getProperty("user.home")),"out.pdf");
attr.add(new Destination(f.toURI()));
printJob.print(document, attr);
문제는 내가 어떤 PDF 리더와 out.pdf 열 때 형식 오류를 말한다 및 메모장 ++ 그냥 HTML을 보여주고 있다는 점이다.
private PrintService getPrinterByName(String name) {
PrintService[] list = getPrintersList();
if (list.length > 0) {
for (PrintService service : list) {
if (service.getName().contains(name)) {
return service;
}
}
}
return null;
}
private PrintService[] getPrintersList() {
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
PrintService[] services = PrintServiceLookup.lookupPrintServices(flavor, null);
return services;
}
'getPrinterByName()'의 소스를 게시하십시오. – Aerospace