Hola: Necesito saber cómo puedo hacer una impersión de varios contenidos en un folio. Quiero distribuir en una hoja impresa imágenes, textos, contenidos de controles Textbox, etc. Intenté enviar ese formato a un formulario y a su vez imprimir este formulario, pero no abarca todo el alto del folio (Din A4). Esto es para un catalogo de productos que estoy realizando. Gracias anticipadas y perdona la molestia. Saludos Ali.
Tienes que emplear el objeto "Printer" que representa la hoja de impresora. En primer lugar ajusta las propiedades del objeto Printer a las de la hoja sobre las que vas a imprimir: Por ejemplo: Printer.PaperSize=9 te ´define el tamaño de hoja DIN A4 Printer.Orientation=2 te sitúa la hoja apaisada (el valor 1 es para hoja vertica) ... etc. Luego yo suelo poner: Printer.ScaleMode=6 Esto hace que se utilice un sistema de coordenadas en la hoja en milímetros con la por creciendo hacia la derecha y la y hacia abajo partiendo de la esquina superior izquierda Ya ya estás list@ para imprimir. Para imprimir un texto tienes un montón de propiedades que hacen referencia al estilo de escritura Por ejemplo Printer. Fontname Printer. Fontsize Printer. FontBold Printer. FontItalic ... Puedes ir cambiando estas propiedades antes de imprimir cada texto, con lo cual cada texto puede tener un tipo de letra, tamaño, etc distinto. También puedes variar el color de cada texto. Cuando vayas a imprimir un texto, primero sitúas las coordenadas con: Printer.Currentx= Printer.Currenty= Dando los valores que desees a estos datos y luego imprimes el texto con: Printer.print <Texto> Donde <Texto> puede ser una cadena de texto, una variable que contenga texto, o una referencia al texto de un control En cuanto al tema de imágenes, la forma de imprimirlas es haciendo Printer. PaintPicture imagen, x1, y1, ancho1, alto1, x2, y2, ancho2, alto2, código_op Donde Imagen es la imagen a imprimir (normalmente la imagen se pone en un control Picture y este dato es la propiedad Image de ese control), y por e y las coordenadas donde se va a imprimir Tienes además un montón de parámetros para cambiar la escala, recortar la imagen etc. Y aunque no lo mencionas, también puedes dibujar con Printer. Line ... Printer. Circle... Cuando hayas terminado con una hoja ejecutas: Printer. NewPage Y empezará a imprimir otra hoja, y así sucesivamente hasta que hagas: Printer. EndDoc Solo en ese momento la impresora recibirá el documento y lo imprimirá. Hay muchas instrucciones más. Mírate la ayuda del objeto Printer. Yo lo he usado muchísimo, es potentísimo, y los resultados son perfectos, a nivel de calidad para imprenta, incluso con imágenes fotográficas. Si ves que no puedes hacer algo, pregúntamelo porque segurammente yo tengo resuelto el tema o tengo algún truco Si tienes cualquier tipo de dudas no dudes en volver a preguntar, aunque ahora me voy unos días de vacaciones. Suerte :-)
Disculpa tanta tardanza en responder.. Cuando yo voy a hace una impresión de este tipo.. me salto las reglas de programación y creo una tabla con los campos de mi formulario (las reglas dicen que economice tablas)... luego asigno todos esos campos a mi tabla extra y esa tabla es la que utilizo para imprimir con el crystalreport. Nota, te hablo de vb 5.0 que es el que uso. Hasta pronto