Blog

.Net C# Impresión de Etiquetas/Docs, etc. (printdocument) sin Crystal

Posted by:

Hoy lo que vamos a intentar es imprimir directamente una etiqueta sin utilizar Crystal Reports y utilizando la clase PrintDocument. Además os pondré una clase correspondiente a una librería de impresión de códigos de barras, que nos permitirá realizar una etiqueta de almacén.

Bien, vayamos por faena.

ESPACIOS DE NOMBRES NECESARIOS

using System.Drawing;

using System.Drawing.Printing;

IMPRIMIR Y PREVISUALIZAR UN DOCUMENTO

Lo primero que vamos a definir es un método que nos permita imprimir el documento

C#:

  1.  

Lo que hemos realizado aquí es instanciar el documento como PrintDocument y una VistaPrevia como Dialogo de vista Previa (+info)

como hemos comenzado por el tejado, ahora lo que tenemos que definir es QUÉ queremos imprimir, que será el PrintPage que pasamos como parámetro.

Aquí tenemos varias opciones

Para escribir un texto, hemos de informar del texto, la fuente y tamaño, el formato de la fuente y finalmente la posición. Para finalmente utilizar el metodo DrawString

C#:

  1. // Draw barcode.
  2. barcodeControl1.Barcode.Draw(ev.Graphics);
  3.  
  4. // Draw title
  5. “Esto es una Prueba del texto”;
  6.  
  7. // Create font and brush.
  8. “Arial”// Create point for upper-left corner of drawing.
  9.  

IMPRIMIR UNA LINEA DE TEXTO

C#:

  1. span style=”color: #008080; font-style: italic;”>// Create pen.
  2. // Create array of points that define lines to draw.
  3. //Draw lines to screen.
  4.  

IMPRIMIR UNA IMAGEN

C#:

  1.  

C#:

  1. span style="color: #808080;">"D:\\imagen.png");
  2.  
  3. //Impresión de la imagen en tamaño original
  4. //Impresión de la Imagen asignando el tamaño
  5.  

Comentarios:

el primer comando es DrawImage(Imagen, coordenada X, coordenada Y), donde las coordenadas deben ser puntos enteros

el segundo comando DrawImage utilizado es (DrawImage(Imagen, coordenada X, coordenada Y, Tamaño ancho, Tamaño alto) donde tanto las coordenadas como los tamaños deben ser números enteros.

DIBUJAR UNA LINEA O RECTANGULO

Siguiendo todo lo anterior, dibujar una línea o un rectangulo es bastante similar.

la opción más sencilla para la línea es la siguiente:

Primero es necesario definir el puntero (pen), donde le indicaremos el color y el grosor del puntero

y posteriormente con DrawLine, indicaremos, el puntero, la coordenada inicial (X1,Y1) y la Coordenada final (X2,Y2)

C#:

  1.  

Para el rectangulo, es similar a la línea, si bien las coordenadas que facilitamos son las del punto inicial (esquina izquierda superior) y las del punto final (esquina derecha inferior)

C#:

  1. // Create pen.
  2. // Create rectangle.
  3. // Draw rectangle to screen.
  4. e.Graphics.DrawRectangle(blackPen, rect);
  5. }

OTRAS OPCIONES

A parte de dibujar/imprimir todo lo anterior podemos realizar lo siguiente:

  • elipses
  • arcos
  • polígonos

Rellenar las figuras que hemos dibujado (fillrectangle, fillpolygon, fillregion, etc.)

A nivel de impresión en el siguiente post podeis ver las opciones de impresión, de la clase printpage

Links de interés: aquí

1


About the Author:

Discussion

  1. Josué Martínez  May 12, 2012

    Esta muy interesante esta información, solo me gustaria que me guiaras un poco. Yo necesito imprimir texto puro (codigo zpl) para imprimir unas etiquetas. En el codigo zpl ya viene incluido el formato del codigo de barras, por eso solo necesito imprimir el puro texto. Me podrias ayudar? Saludos y gracias.

Add a Comment

UA-30641277-1