GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

É possível imprimir PDF via bluetooth gerado pelo site usando WebView?

Tags: #<Tag:0x00007fa0035b5310> #<Tag:0x00007fa0035b5130>

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());


}
//