Problema com impressão de relatorio em impressora na rede

0 respostas
jonasjgs2

Bom dia a toos.
preciso imprimir um pdf em uma impressora da rede.
O único problema é a a impressão do pdf sai completamente fora dos formatos especificados.
Ou seja, se eu pegar e mostrar o dialog na tela e mandar imprimir, show funciona perfeitamente. Mas se eu mandar imprimir diretamente sem abrir o dialog nao funciona.
Já tentei até criar um pdf do relatorio. O pdf fica certinho. Mas se eu mandar imprimir o pdf para uma impressora da rede sem abrir o dialog de impressao. Novamente sai completamente sem formatação de fontes.
Não sei mais o que é.
vou mostrar aqui as varias maneiras que já tentei.

EX:01

public static void printDocument() throws Exception {
    PrintRequestAttributeSet attrs = new HashPrintRequestAttributeSet();
    File file = new File("c:\\manda\\teste.pdf");
    PDDocument document = PDDocument.load(file);

// PrintService myPrintService = findPrintService(“Caixa-02”);
PrintService myPrintService = findPrintService(“MACARRAO”);

PrinterJob job = PrinterJob.getPrinterJob();

    PDFPageable pageAble = new PDFPageable(document, Orientation.PORTRAIT, false);
    PDFPrintable printAble = new PDFPrintable(document, Scaling.SCALE_TO_FIT, false);
    
    
    

    job.setPageable(pageAble);
    attrs.remove(OrientationRequested.class);
    attrs.add(OrientationRequested.PORTRAIT);

    job.setPageable(new PDFPageable(document));
    job.setPrintable(printAble);
    job.setPrintService(myPrintService);
    job.print(attrs);
    
    
}

private static PrintService findPrintService(String printerName) {
    PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, null);
    for (PrintService printService : printServices) {
        if (printService.getName().trim().equalsIgnoreCase(printerName)) {
            return printService;
        }
    }
    return null;
}
EX:02

String spdf = c:\tmp\exemplo.pdf;

PDDocument documento = PDDocument.load(new File(spdf));

PrinterJob job = PrinterJob.getPrinterJob();

job.setPageable(new PDFPageable(documento));

job.setPrintService(ipadrao);

job.setCopies(1);

PrintRequestAttributeSet printReq = new HashPrintRequestAttributeSet();

printReq.add(OrientationRequested.PORTRAIT);

job.getPageFormat(printReq);

job.print();

documento.close();
Criado 26 de fevereiro de 2024
Respostas 0
Participantes 1