Applet para imprimir nota fiscal (SOLUCIONADO)

9 respostas
F

Bom dia pessoal,

Preciso fazer um applet para imprimir uma nota fiscal na impressora matricial do usuário (formulário continuo de ntoas), estava pensando em fazer um applet para enviar um arquivo texto contendo os dados na nota para a LPT1 da maquina do usuário e boa, porém, para conseguir rodar essa applet, eu andei lendo aqui no forum e parece que eu preciso fazer a assinatura digital dela. Será que tem algum forma de eu executar essa applet sem ter que assinar ela? A aplicação só roda na empresa mesmo, ela nunca fica na web. Se alguem tiver alguma outra sugestão para resolver essa questão será muito bem vinda !

Desde já muito obrigado a todos pela atenção.

9 Respostas

A

Rapaz, não rola não. A applet tem uma ideia que é chamada de sandbox, elá tem varias limitações senão alguma pessoa maliciosa poderia fazer uma applet que apagasse os arquivos do usuario por exemplo. Vc tem que assinar ela mesmo. Esse site tem todo o passo a passo.
http://www.lcmi.ufsc.br/jacoweb/restrito/documentos/assinatura/index.htm

Alberto

ale-asilva

Pode rolar sim, cara.
Existe uma outra forma de fazer isto sem tem que assinar o applet.
Só que o cliente vai ter que instalar um arquivo de permissões. Este arquivo é configuravel e você pode autorizar o applet a fazer certas operações.
Recomendo você dar uma olhada no site da sun, para ver mais detalhes.
E quanto as limitações do Applet, discordo do nosso amigo, é possível fazer qualquer tipo de aplicação usando applet, e o melhor de tudo RIA.
http://java.sun.com/j2se/1.3/docs/guide/security/PolicyFiles.html
Espero que ajude
Alexandre

R

usa javafx

F

Pessoal, valeu pelas respostas, as três foram de grande ajuda, agora vou estudar as três sugestões!

Obrigado !

horochovec

Ola

Eu ja montei um applet para controle de impressao em impressoras matriciais de uma aplicação comercial para internet.

O processo mais simples foi o de Certificação do Applet. Assim como no applet do Banco do Brasil, voce deve aceitar ele, para que ele rode no seu computador e voce possa acessar sua conta, o usuario do software precisa aceitar o applet para permitir que ele tenha acesso a impressão.

A solução esta rodando a mais de 1 ano e nunca tive problemas, e recentemente, na mesma estrutura, foi implementado a impressão de etiquetas em impressoras termicas no mesmo applet e já esta em uso pelos clientes.

Para gerar as chaves é tranquilo, eu aconselho.

Um abraço

F

Boa tarde horochovec,

Obrigado pela colaboração, eu vou tentar fazer com a assinatura do applet sim, é que como eu nunca mexi como isso antes, estou meio perdido ainda, mas o pessoal passou uns links legais de assinatura digital de applet, agora vou dar uma estudada! Se você tiver alguma sugestão de algum site que contenha material sobre esse assunto sera muito bem vinda a sugestão!

Obrigado!

horochovec

Opa

Para voce assinar um applet, são dois processos…

C:\Java\JDK\bin\keytool.exe -genkey -alias [NOMEQUALQUER] -keyalg RSA -keypass [MINHASENHA] -storepass [MINHASENHA] -keystore [C:\ARQUIVODESENHA.jks] -validity 365

C:\Java\JDK\bin\jarsigner.exe -keystore [C:\ARQUIVODESENHA.jks] [C:\SEUARQUIVOJAR.jar] [NOMEQUALQUER]

Pronto, seu applet ao chamado pelo navegador, vai pedir que o usuario o aceite para rodar.

Abracos

F

Pô valeu mesmo horochovec !
Hoje a noite vou tentar assinar um applet aqui, obrigado!

Abraço

Cleber_Rogerio_Franc

ae galera blz???

entaum to montando um relatório p/ formulário contínuo em EPSON e gostaria de saber se alguém sabe algo a respeito…

eu já tentei usar o IREPORTS + JASPERREPORTS e deu aquele velho problema de imprimir a primeira certa e o resto errado.

Desisti do ireports por causa do curto prazo, agora tô fazendo na mão, o problema é que estou tendo uma dificuldade enorme em acertar a formatação!!!

estou passando como parâmetro um ARRAYLIST mas estou tendo mta dificuldae p/ formatar. Algu´me pode me ajudar???

valew desde já!

ae:::

/*
 * ImpEtiquetas.java
 *
 * Created on 21 de Fevereiro de 2008, 08:09
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package relatorios;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JPanel;

/**
 *
 * @author Usuario
 */
public class ImpEtiquetas extends JPanel implements Printable {
    
    private String[][] dados;
    private List al;
    
    
    
    /** Creates a new instance of ImpEtiquetas */
    public ImpEtiquetas(List a) {
        
        al = a;
        
        //String[] dados;
        
        for(int i = 0; i < al.size(); i++)
          System.out.println(al.get(i));           
        
        
    } //
          
    
    public int print(Graphics g, PageFormat pf, int pi) throws PrinterException {
        
        if (pi >= 1)
            return Printable.NO_SUCH_PAGE;
        
        Graphics2D g2d = (Graphics2D) g;
        g2d.translate(pf.getImageableX(), pf.getImageableY());
        g2d.setColor(Color.GREEN);
        Font fonte = new Font("Monospaced", Font.PLAIN, 12);
        g2d.setFont(fonte);
        
        int y = 5;
        int x = 15;
        
        for(int i = 0; i < al.size(); i+=2) {
            
            g2d.drawString("Pedido1: " + al.get(i).toString(), x, y);
            if ((i + 3) < al.size()) g2d.drawString("Pedido: " + al.get(i+3).toString(), x + 275, y);
            
            y+= 10;
            
            if ((i + 1) < al.size()) g2d.drawString("Referência1: " + al.get(i+1).toString(), x, y);
            if ((i + 4) < al.size()) g2d.drawString("Referência: " + al.get(i+4).toString(), x + 275, y);

            y+= 10;
            
            if ((i + 2) < al.size()) g2d.drawString("Cor1: " + al.get(i+2).toString(), x, y);
            if ((i + 6) < al.size()) g2d.drawString("Cor: " + al.get(i+6).toString(), x + 275, y);
            
            //y+= 49;
            y = 5;
            
        } //
        
        paint(g2d);
        
        return Printable.PAGE_EXISTS;
        
        
    } //
    
    
    
}
Criado 22 de dezembro de 2007
Ultima resposta 21 de fev. de 2008
Respostas 9
Participantes 6