Pessoal eu achei um exemplo de imprimir arquivo só que eu quero imprimir varios arquivos de uma vez que vão conter em 1 pasta, o número de arquivos também não vai ser fixo segue abaixo o modelo que achei na internet…
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintException;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.ServiceUI;
import javax.print.SimpleDoc;
import javax.print.attribute.HashDocAttributeSet;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;
public class Imprimir{
public Imprimir(boolean mostrarDialogo) {
System.out.println(mostrarDialogo);
try {
// Localiza todas as impressoras com suporte a arquivos txt
PrintService[] servicosImpressao =PrintServiceLookup.lookupPrintServices(
DocFlavor.INPUT_STREAM.AUTOSENSE, null);
System.out.println("Impressoras com suporte: "+ servicosImpressao.length);
// Localiza a impressora padrão
PrintService impressora = PrintServiceLookup.lookupDefaultPrintService();
System.out.println("Impressora: " + impressora.getName());
System.out.println("Imprimindo arquivo-texto");
// Definição de atributos do conteúdo a ser impresso:
DocFlavor docFlavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
// Atributos de impress do documento
HashDocAttributeSet attributes = new HashDocAttributeSet();
// InputStream apontando para o conteúdo a ser impresso
FileInputStream fi = new FileInputStream("teste.txt");
// Cria um Doc para impressão a partir do arquivo exemplo.txt
Doc documentoTexto = new SimpleDoc(fi, docFlavor, attributes);
// Configura o conjunto de parametros para a impressora
PrintRequestAttributeSet printerAttributes = new HashPrintRequestAttributeSet();
System.out.println(mostrarDialogo);
//mostrarDialogo = false;
if (mostrarDialogo) {
// exibe um dialogo de configuracoes de impressao
PrintService servico = ServiceUI.printDialog(null, 320, 240,
servicosImpressao, impressora, docFlavor, printerAttributes);
if (servico != null) {
DocPrintJob printJob = servico.createPrintJob();
printJob.print(documentoTexto, printerAttributes);
}
}
else {
// Cria uma tarefa de impressão
DocPrintJob printJob = impressora.createPrintJob();
// Adiciona propriedade de impressão: imprimir duas cópias
printerAttributes.add(new Copies(2));
// Imprime o documento sem exibir uma tela de dialogo
printJob.print(documentoTexto, printerAttributes);
}
}
catch (FileNotFoundException ex) {
System.out.println("Arquivo file.txt não encontrado!");
}
catch (PrintException ex2) {
System.out.println("Erro de impressão: " + ex2.getMessage());
}
}
public static void main(String[] args) {
Imprimir exemplo = new Imprimir(true);
}
}