Pessoal, tenho o seguinte caso: Tenho um site que tem um Botão Finalizar. Ao clicar gostaria de abrir uma tela de impressão na webView com a impressora Bluetooth para poder imprimir localmente. Já pesquisei, mas não consegui… Rodando diretamente pelo Browser exibo o PDF. Uso Java, e pra gerar o relatório JasperReport
public void finalizar(){
....
// salvo o objeto e no fim chamo imprimir()
Imprimir();
}
public void Imprimir(){
FacesContext context = FacesContext.getCurrentInstance();
ServletContext servletContext = (ServletContext) context.getExternalContext().getContext();
String caminhoRelatorio = servletContext.getRealPath("/relatorios/pdf/meuPdf.jasper");
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
response.reset();
response.setContentType("application/pdf");
response.setHeader("Content-disposition", "inline; filename=meuPdf.pdf");
ServletOutputStream servletOutputStream = response.getOutputStream();
List impressao= Collections.singletonList(meuObjeto);
JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource( impressao, false);
JasperPrint impressao = JasperFillManager.fillReport(caminhoRelatorio, null, dataSource);
JRPdfExporter exporter = new JRPdfExporter();
exporter.setExporterInput(new SimpleExporterInput(impressao));
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(servletOutputStream));
exporter.exportReport();
FacesContext.getCurrentInstance().responseComplete();
FacesContext.getCurrentInstance().renderResponse();
}
Na parte da WebView estou sem saber como fazer essa impressão. Tipo: como abrir a tela de impressão e passar meu PDF. Alguém pode me ajudar nessa situação? Desde já agradeço. Obrigado!
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setSupportMultipleWindows(true);
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setDomStorageEnabled(true);
webView.loadUrl("http://minhaAplicacao");
webView.setWebViewClient(new WebViewClient());
}