Código fuente de vista previa de la foto
¿Paquete? Prueba;
¿Importar? java.awt.*;
¿Importar? Java. awt. imprimir *; ¿clase? ¿JavaImprimir? ¿Utensilios? ¿Imprimible? {
int? m_wPage
int? m_hPage
int? m_orientación
¿Imprimible? m_target
int? maxNumPage? =?1;
¿Cadena? ¿título? =?"Impresión del formulario de datos";
¿Fuente? títuloFuente? =?Nuevo? font(" negrita ", font. negrita, ?14);
¿Booleano? tiene cola? =?Verdadero;
int? cola ¿Alinear? =?0;
int? ¿Alinear cabeza? =?0;
int? ¿Espacio superior? =?0;
int? ¿Espacio izquierdo? =?0;
int? ¿Empezar? =?0;
int? ¿Fin? =?0;
int? x¿Empezar? =?topSpace
int? x¿Fin? =?0;
int? ¿incógnita? =?0,?y? =?0;
¿Cadena? strTemp? =?"Imprimir contenido";
¿Público? ¿Vacío? ¿Imprimir()? {
¿Intentarlo? {
m _¿Orientación? =?Formato de página. Retrato;
//?Establezca el objeto de impresión, papel predeterminado.
¿Trabajo de impresora? prnTrabajo? =?trabajo de impresora . getprinterjob();
¿Formato de página? ¿Formato de página? =?prn trabajo .página predeterminada();
formato de página establecer orientación (m _ orientación); =?(int)? (formato de página . getwidth());
m_hPage? =?(int)? (formato de página . getheight());
//? Pase el formulario que se va a imprimir al objeto de impresión de acuerdo con la configuración de papel predeterminada.
prnJob.setPrintable(esto,? formato de página);
Si? (!prnJob.printDialog())
Regresar;
prn trabajo .print();
}?Catch? (¿Excepción de impresora? ex)? {
ex . printstacktrace();
System.err.println("Error de impresión: "?+?ex . tostring()
}
}
/**
? *?Inicializar parámetros de impresión
? */
¿Público? ¿Vacío? initPrintParameter()? {
}
/**
? *Construir el contenido de impresión que será impreso por la impresora.
? */
¿Público? int? Imprimir(Gráficos?pg,?PageFormat?PageFormat,?int?PageIndex)
¿Lanzar? ¿Excepción de impresora? {
//?Inicializar parámetros de impresión
initPrintParameter();
//?Establecer lienzo al tamaño de página
pág. ((int)?pageFormat.getImageableX(),?(int)?formato de página
.getImageableY());
int? ¿wPágina? =?0;
int? hPágina? =?0;
//?Ajuste el tamaño del lienzo de acuerdo con la configuración de la página de la impresora.
¿Y si? (pageFormat.getOrientation()?==?Formato de página. ¿Retrato)? {
wPágina? =?(int)? formato de página .getimageablewidth();
hPage? =?(int)? formato de página . getimageableheight();
}? {
wPágina? =?(int)? formato de página .getimageablewidth();
wPage? +=?wPágina? /?2;
hPágina? =?(int)? formato de página .getimageableheight();
pg.setClip(0,?0,?wPage,?h página);
}
wPage? =?wPágina? -?2?*?Espacio izquierdo;
hPágina? =?hPágina? -?2?*?topSpace
xInicio? =?Espacio izquierdo;
xFin? =?wPágina? -?2;
//?Establece el color y la fuente del lienzo.
int? ¿y? =?topSpace
pg . set font(title font);
pg set color(color . black); Centrado.
¿Fuente? fn? =?pg . obtener fuente();
FontMetrics? ¿fm? =?pg .getfont metrics();
y? +=?FM . getascent();
alignText(título, página,?y,?xStart,?xEnd,?head align);
y? +=?30;
x? =?Espacio izquierdo? +?2;
¿Fuente? ¿Haidfeng? =?Nuevo? font("宋体", font. negrita, ? 14);
pg set font(fuente del encabezado
fm? =?pg .getfont metrics();
int? h? =?FM . getascent();
y¿Iniciar? =?y? -?1;
y? +=?h;
pg establecer fuente (fuente de encabezado);
fm? =?pg .getfont metrics();
int? ¿Encabezamiento? =?y;
h? =?FM . get height();
//?Calcule la altura de la fila, el número de filas por página, el número total de filas y las líneas inicial y final del número de página especificado.
int? ¿Luo? =?Math.max(h, 10);
int? ¿cola? =?Luo? +?30;
int? filaPorPágina? =?0;
int? izquierdaPix? =?0;
¿Y si? (tiene cola)? {
¿filaPorPágina? =?(hPágina?-?Encabezado?-?colaH)? /?rowH
leftPix? =?(hPágina?-?Encabezado?-?colaH)? %?rowH
yEnd? =?hPágina? -?leftPix? -?colaH? +?2;
}?¿En caso contrario? {
¿filaPorPágina? =?(hPágina?-?Encabezado)? /?rowH
leftPix? =?(hPágina?-?Encabezado)? %?rowH
yEnd? =?hPágina? -?leftPix? +?2;
}
pg. Tirar de la cuerda (strTemp, x,? y);
//?Dibujar el borde de la mesa
pg.drawLine(xStart,yStart?xStart,?yEnd);
pg.drawLine(xStart,yStart?xEnd,?yStart);
pg.drawLine(xEnd, yInicio? xEnd,? yEnd);
pg.drawLine(xInicio, yEnd? (tiene cola)? {
int? ¿número de página? =?índice de página? +?1;
¿Cadena? ¿s? =?"No"+? ¿número de página? +?"Página";
alignText(s, pg,?yEnd?+?30,?xStart,?xEnd,?tail align);
}
sistema .GC();
¿Regresión? ¿PÁGINA _ EXISTE
}
/**
? *?Disposición del texto, coordenada y, rango de visualización (inicio y final)? 0 significa visualización centrada, 1 significa alineado a la izquierda y 2 significa alineado a la derecha.
? */
¿Privado? ¿Vacío? alignText(string?s,?graphic?pg,?int?y,?int?start,?int?end,
int?mode)? {
¿Fuente? fn? =?pg . obtener fuente();
FontMetrics? ¿fm? =?pg .getfont metrics();
int? ¿Cadena? =?FM . ancho(s) de cadena;
int? ¿incógnita? =?Iniciar;
¿Cambiar? (modelo)? {
¿Caso? 0:
¿Y si? ((¿Fin?-?¿Inicio?-?wString)?& gt?0)
x? =?¿Empezar? +?(¿Fin?-?Inicio?-?wString)? /?2;
Rotura;
¿Caso? 1:
Rotura;
¿Caso? 2:
¿Y si? ((¿Fin?-?¿Inicio?-?wString)?& gt?0)
x? =?¿Empezar? +?(End?-?Start?-?wString);
Pausa;
}
Página 2, tirar de la cuerda (s,?x, ? y);
}
¿Público? ¿Electricidad estática? ¿Vacío? principal(Cadena[]?args)? {
¿JavaImprimir? ¿pag? =?¿Nuevo? Java print();
p . do print();
}
Mi nombre es Lei Feng, por favor adóptame ~ ~