tenho um código para imprimir um arquivo de uma foto tamanho 10x15cm em uma impressora de sublimação p510l. o código abaixo ele imprime o arquivo, porém não imprime a folha inteira fica uma borda bem grande, e não consigo tirar a borda. Alguem pode me ajudar…
public Impressao_vertical() throws SQLException, Throwable {
////busca no diretório abaixo a foto;
String diretorio = "C:\\eventos\\" + pastaEventoSelecionado + "\\imagens\\Fotos\\";
File file = new File(diretorio);
File afile[] = file.listFiles();
File rootDirectory = new File(diretorio);
Integer totalFiles = rootDirectory.listFiles().length;
File lastFile = new File("Fotografia modelo 1 - " + totalFiles + ".png");
System.out.println(lastFile.getName());
//////////////////////////////////////////////////////////////////////////////
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
//pras.add(MediaSizeName.JAPANESE_POSTCARD); // ESTE COMANDO É PARA O TAMANHO 10X15CM PORÉM SE EU DEIXAR ESTE COMANDO A IMPRESSORA NÃO IMPRIME, DA ERRO.
pras.add(OrientationRequested.PORTRAIT);
//int width = Math.round(MediaSize.ISO.A6.getX(MediaSize.MM));
//int height = Math.round(MediaSize.ISO.A6.getY(MediaSize.MM));
//pras.add(new MediaPrintableArea(10, 10, width - 20, height - 20, MediaPrintableArea.MM));
pras.add(new Copies(Integer.parseInt(qt)));
//pras.add(new Copies(1));
PrintService pss[] = PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.PNG, pras);
if (pss.length == 0) {
try {
new arquivoLog("### Ocorreu um Erro ao imprimir ### ");
JOptionPane pane_foto = new JOptionPane("Erro Ao Imprimir, Verifique Impressora");
final JDialog dialog_foto = pane_foto.createDialog(null, "Cabine Fotográfica");
Timer timer_foto = new Timer(2000,
new ActionListener() {
public void actionPerformed(ActionEvent evt) {
dialog_foto.dispose();
}
});
timer_foto.setRepeats(false);
timer_foto.start();
dialog_foto.show();
//dialog_foto.setUndecorated(false);
timer_foto.stop();
//System.exit(0);
} catch (Exception e) {
Logger.getLogger(Impressao_vertical.class.getName()).log(Level.SEVERE, null, e);
}
}
if (pss.length != 0) {
PrintService ps = pss[0];
System.out.print("Imprimindo na impressora:" + ps);
DocPrintJob job = ps.createPrintJob();
FileInputStream fin = null;
try {
fin = new FileInputStream(diretorio + lastFile.getName());
//fecha conexão com o banco
conn.close();
this.finalize();
} catch (FileNotFoundException ex) {
new arquivoLog("Erro FileNotFoundException: " + ex + " Arquivo não encontrado");
JOptionPane pane_foto = new JOptionPane("O sistema não pode encontrar o arquivo especificado, Verifique!");
final JDialog dialog_foto = pane_foto.createDialog(null, "Cabine Fotográfica");
Timer timer_foto = new Timer(2000,
new ActionListener() {
public void actionPerformed(ActionEvent evt) {
dialog_foto.dispose();
}
});
timer_foto.setRepeats(false);
timer_foto.start();
dialog_foto.show();
//dialog_foto.setUndecorated(false);
timer_foto.stop();
}
Doc doc = new SimpleDoc(fin, DocFlavor.INPUT_STREAM.PNG, null);
try {
job.print(doc, pras);
} catch (PrintException ex) {
new arquivoLog("Erro PrintException: " + ex + " Impressora não encontrada!");
JOptionPane.showMessageDialog(null, "Impressora não encontrada!");
System.out.println(ex);
}
try {
//Thread.sleep(1000);
fin.close();
} catch (IOException ex) {
new arquivoLog("Erro IOException: " + ex);
JOptionPane.showMessageDialog(null, "Ocorreu um Erro, entre em contato com o suporte!");
System.out.println(ex);
}
}
}