Me varia margen superior e izquierdo, Cuando uso:
job.printDialog();
y cuando comento //job.printDialog();
Imagen cuando uso job.printDialog();
(https://scontent.faep3-1.fna.fbcdn.net/v/t1.0-9/16864166_997906180353381_4675704728874433789_n.jpg?oh=be1622d34f04bcd12953eddd834cb786&oe=592A2E67)
Imagen cuando NO uso //job.printDialog();
me varia los margenes.
(https://scontent.faep3-1.fna.fbcdn.net/v/t1.0-9/16831993_997906270353372_3862389428446104834_n.jpg?oh=984816253b73d046e4d0cad014854903&oe=593B5608)
Esto es mi codigo:
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.Paper;
import java.awt.print.Printable;
import static java.
awt.
print.
Printable.
NO_SUCH_PAGE; import static java.
awt.
print.
Printable.
PAGE_EXISTS; import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class PrintJPanel {
public PrintJPanel(){
Contruir();
ImprimirPanel();
}
public void Contruir(){
Dato = "<html><table WIDTH='265'><tr><td><p align=justify>Comenzó en la empresa de bienes raíces de su padre,20 Elizabeth Trump and Son,21 focalizada en la vivienda de clase media para arrendar en Brooklyn, Queens y Staten Island. Uno de sus primeros proyectos, todavía en la universidad, fue la revitalizacion del complejo de apartamentos de Swifton Village en Cincinnati, en el estado de Ohio, que su padre había comprado por 5,7 millones de dólares en 1962.</p></td></tr><table></html>";
Formulario
= new JFrame("Ventana"); Formulario.setSize(270, 450);
Formulario.setLocationRelativeTo(null); // centramos la ventana en la pantalla
Formulario.setResizable(false); // hacemos que la ventana no sea redimiensionable
Formulario.
setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE);
Texto.setText(Dato);
Texto.
setFont(new Font("Arial Narrow",
Font.
ROMAN_BASELINE,
10)); Texto.
setForeground(Color.
black);
Formulario.setVisible(true);
}
public void ImprimirPanel() {
job.setPrintable(new MiPrintable());
try {
job.printDialog();
job.print();
Formulario.dispose();
}
if (pageIndex > 0){
return NO_SUCH_PAGE;
}else{
//Punto donde empezará a imprimir dentro la pagina (100, 50)
g2d.translate( pageFormat.getImageableX() -5,
pageFormat.getImageableY() -0);
g2d.scale(1.0,1.0); //Reducción de la impresión al 50% - (0.50,0.50)
Panel.
printAll(graphics
); return PAGE_EXISTS;
}
}
}
public static void main
(String[] args
) { // TODO code application logic here
new PrintJPanel();
}
}
El problema esta en linea 52 Cuando uso o cuando lo comento job.printDialog();
Gracias por la ayuda.
Entendemos que con o sin esa linea de código te cambia las margenes, pero exactamente no has dicho que es lo que quieres
Un Saludo.