![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Yo, lo solucioné asi:
Cree el reporte usando medidas en milimetros para posicionar los campos (un archivo de configuracion +- así: x,y,Nombrecampo Luego (con qreport) defino una banda del tamaño máximo de la hoja impresa (menos los márgenes). Al leer el band.width, band.heigth obtengo el ancho y alto en pixeles del area imprimible (conozco las medidas del papel en mi caso carta 8½ x 11" (no me acuerdo en cm pero pueden multiplicar por 2,54 1" = 2,54cm) con 1cm de margen por cada lado). Luego con esa información aplico una regla de 3 y determino la ubicación en pixeles de donde debo colocar la impresión. Espero me entiendas y te sirva ![]()
__________________
Sitrico |
|
#2
|
||||
|
||||
|
jejejej, sitrico, mi no entender.
¿la regla de ters apra que la usas!!!!? y con esto, esto lo guardas en un archivo y en el evento before printing vas llamando a las cordenadas y los campos. me imagino que la solución es para usar el reporte, no importando en que impresora, y volviandoa calcular las nuevas caidas, haciendo prueba y error en el cliente.
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás... análisis de información análisis y diseño de sistemas Paoti Rios Reséndiz |
|
#3
|
||||
|
||||
|
Te explico algo mejor:
La hoja carta mide: 8,5x11 pulgadas = 21,59x27,94centimetros. Al crear un reporte pones los márgnes a 1 cm por cada lado. Te queda un área de impresión de: 21,59-1-1= 19,59 (ancho) 27,94-1-1=25,94 (alto) Te habia puesto una complicada explicación de las bandas pero probando encontre lo sigiente: Al asignar el tamaño del papel del reporte el QReport ajusta las propiedades Width y Height (del papel) al tamaño en puntos, así que puedes usar esos valores como base para tus calculos. por ejem:
Entoneces puedes decir que 21,59 cm = 816 px y 27,94 = 1056px y puedes calcular lo siguiente: Si quieres imprimir a 5,5cm del borde izquierdo y 3,7 desde el superior aplicas:
Y así puedes determinas la posición y el ancho en pixeles de cualquier objeto a imprimir. Para implementarlo luego defines un archivo con las posiciones x,y y ancho de cada campo y usas un loop en onBeforePrint, para colocar los objetos. También debes considerar que el punto indicado apunta a la esquina superior izquierda del texto por lo que debes hacer los ajustes correspondientes según la alineación. Si usas varias bandas entonces debes calcular la posición vertical de la banda sumando los "altos" de las bandas impresas. Un consejo: Calcula los valores de ancho y alto (WidthP y HeithP) en tiempo de ejecución justo antes de imprimir el reporte ya que pueden variar según la impresora seleccionada. Otro dato: Es posible que debas incluir un factor de "ajuste" de la esquina superior izquieda del papel (sumar ó restar n pixeles) a cada objeto a imprimir ya que posición de la esquina superior izquierda del area de impresión varia siempre de una impresora a otra (especialmente en las de matriz de puntos) Espero haya quedado más claro.
__________________
Sitrico Última edición por sitrico fecha: 17-06-2007 a las 18:52:04. |
|
#4
|
||||
|
||||
|
podrias usar ReportBuilder o FastReports ambos incluyen componentes para edicion visual de los reportes
![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| RAVE - Se pega el reporte cuando utilizo un tipo de impresora | Alexander | Impresión | 0 | 28-05-2007 16:31:57 |
| procedimiento en un hilo independiente | jorodgar | Varios | 2 | 04-08-2005 10:18:11 |
| Imprimir con el tamaño definido por el reporte, no de la impresora | Alexander | Impresión | 0 | 21-07-2005 23:23:28 |
| Form independiente | Delfino | Varios | 0 | 11-01-2004 01:24:06 |
| Diseño de reporte QuickReport mediante texto | acalderonr | Impresión | 1 | 24-11-2003 08:45:19 |
|