Imprimir Archivo .tif

26/12/2005 - 17:57 por JPablo | Informe spam
Que tal Grupo,

Estoy haciendo una aplicación windows c# que imprime documentos .tiff y estoy
utilizando la clase PrintDocument. El detalle es que si el .tiff tiene más de
una hoja solo me imprime la Primera. Como me puedo conocer cuantas páginas
tiene el archivo .tiff y como configurar para enviar todas las páginas a
impresión ??

O hay alguna otra forma de enviar a impresión el archivo ??

Esto es parte de la Implementación:

De antemano gracias
Saludos

//Preparar documento para impresión.
instancePrintDocument = new System.Drawing.Printing.PrintDocument();

//Nombre de la Impresora.

instancePrintDocument.PrinterSettings.PrinterName System.Configuration.ConfigurationSettings.AppSettings["MAS.PrinterName"].ToString();

//Configurar Nombre del Documento a Imprimir.
instancePrintDocument.DocumentName = "ALGUN NOMBRE";

//Configurar Evento de Impresión.
instancePrintDocument.PrintPage += new
PrintPageEventHandler(this.instancePrintDocument_PrintPage);

//Configurar Evento que indica cuando se ha terminado la impresión del
documento.
instancePrintDocument.EndPrint += new
PrintEventHandler(this.instancePrintDocument_EndPrintPage);

//Enviar documento a Impresión.
instancePrintDocument.Print();


private void instancePrintDocument_PrintPage(object sender,
PrintPageEventArgs ev)
{
string message;
System.Drawing.Image newImage = null;

// Crear Imagen.
newImage = System.Drawing.Image.FromFile("ALGUN ARCHIVO .TIFF");

// Crear coordenadas para la esquina superior izquierda de la imagen.
int x = 0;
int y = 0;

// Dibujar una imagen en la pantalla.
ev.Graphics.DrawImageUnscaled(newImage, x, y);
}

Preguntas similare

Leer las respuestas

#1 Guerrero
26/12/2005 - 23:51 | Informe spam
Supongo que tendrás que centrarte en como detectar que un fichero tiff tiene
más de una imagen dentro, y hacer una clase que te las separe y accedas a
ellas, puedes utilizar una libreria de edición de imagenes, FreeImage que
tiene un wrapper para .net con el cual lo podrás averiguar, aqui te dejo el
enlace. http://freeimage.sourceforge.net/ prueba tambien a googlear por ahi.

"JPablo" escribió:

Que tal Grupo,

Estoy haciendo una aplicación windows c# que imprime documentos .tiff y estoy
utilizando la clase PrintDocument. El detalle es que si el .tiff tiene más de
una hoja solo me imprime la Primera. Como me puedo conocer cuantas páginas
tiene el archivo .tiff y como configurar para enviar todas las páginas a
impresión ??

O hay alguna otra forma de enviar a impresión el archivo ??

Esto es parte de la Implementación:

De antemano gracias
Saludos

//Preparar documento para impresión.
instancePrintDocument = new System.Drawing.Printing.PrintDocument();

//Nombre de la Impresora.

instancePrintDocument.PrinterSettings.PrinterName =
System.Configuration.ConfigurationSettings.AppSettings["MAS.PrinterName"].ToString();

//Configurar Nombre del Documento a Imprimir.
instancePrintDocument.DocumentName = "ALGUN NOMBRE";

//Configurar Evento de Impresión.
instancePrintDocument.PrintPage += new
PrintPageEventHandler(this.instancePrintDocument_PrintPage);

//Configurar Evento que indica cuando se ha terminado la impresión del
documento.
instancePrintDocument.EndPrint += new
PrintEventHandler(this.instancePrintDocument_EndPrintPage);

//Enviar documento a Impresión.
instancePrintDocument.Print();


private void instancePrintDocument_PrintPage(object sender,
PrintPageEventArgs ev)
{
string message;
System.Drawing.Image newImage = null;

// Crear Imagen.
newImage = System.Drawing.Image.FromFile("ALGUN ARCHIVO .TIFF");

// Crear coordenadas para la esquina superior izquierda de la imagen.
int x = 0;
int y = 0;

// Dibujar una imagen en la pantalla.
ev.Graphics.DrawImageUnscaled(newImage, x, y);
}

Respuesta Responder a este mensaje
#2 Unai Zorrilla Castro
29/12/2005 - 11:20 | Informe spam
Es sencillo obtner el numero de paginas del .tiff usando la clase Bitmap de
System.Drawing, basta crear el objeto con el path del tiff en el constructor
e invocar al método GetFrameCount con el parametro FrameDimension.Page

Saludos
Unai Zorrilla Castro

"JPablo" escribió:

Que tal Grupo,

Estoy haciendo una aplicación windows c# que imprime documentos .tiff y estoy
utilizando la clase PrintDocument. El detalle es que si el .tiff tiene más de
una hoja solo me imprime la Primera. Como me puedo conocer cuantas páginas
tiene el archivo .tiff y como configurar para enviar todas las páginas a
impresión ??

O hay alguna otra forma de enviar a impresión el archivo ??

Esto es parte de la Implementación:

De antemano gracias
Saludos

//Preparar documento para impresión.
instancePrintDocument = new System.Drawing.Printing.PrintDocument();

//Nombre de la Impresora.

instancePrintDocument.PrinterSettings.PrinterName =
System.Configuration.ConfigurationSettings.AppSettings["MAS.PrinterName"].ToString();

//Configurar Nombre del Documento a Imprimir.
instancePrintDocument.DocumentName = "ALGUN NOMBRE";

//Configurar Evento de Impresión.
instancePrintDocument.PrintPage += new
PrintPageEventHandler(this.instancePrintDocument_PrintPage);

//Configurar Evento que indica cuando se ha terminado la impresión del
documento.
instancePrintDocument.EndPrint += new
PrintEventHandler(this.instancePrintDocument_EndPrintPage);

//Enviar documento a Impresión.
instancePrintDocument.Print();


private void instancePrintDocument_PrintPage(object sender,
PrintPageEventArgs ev)
{
string message;
System.Drawing.Image newImage = null;

// Crear Imagen.
newImage = System.Drawing.Image.FromFile("ALGUN ARCHIVO .TIFF");

// Crear coordenadas para la esquina superior izquierda de la imagen.
int x = 0;
int y = 0;

// Dibujar una imagen en la pantalla.
ev.Graphics.DrawImageUnscaled(newImage, x, y);
}

Respuesta Responder a este mensaje
#3 JPablo
30/12/2005 - 17:49 | Informe spam
Thanks, esto es lo que pretendo, deja probar.
De antemano Thanks.

Saludos

"Unai Zorrilla Castro" escribió:

Es sencillo obtner el numero de paginas del .tiff usando la clase Bitmap de
System.Drawing, basta crear el objeto con el path del tiff en el constructor
e invocar al método GetFrameCount con el parametro FrameDimension.Page

Saludos
Unai Zorrilla Castro

"JPablo" escribió:

> Que tal Grupo,
>
> Estoy haciendo una aplicación windows c# que imprime documentos .tiff y estoy
> utilizando la clase PrintDocument. El detalle es que si el .tiff tiene más de
> una hoja solo me imprime la Primera. Como me puedo conocer cuantas páginas
> tiene el archivo .tiff y como configurar para enviar todas las páginas a
> impresión ??
>
> O hay alguna otra forma de enviar a impresión el archivo ??
>
> Esto es parte de la Implementación:
>
> De antemano gracias
> Saludos
>
> //Preparar documento para impresión.
> instancePrintDocument = new System.Drawing.Printing.PrintDocument();
>
> //Nombre de la Impresora.
>
> instancePrintDocument.PrinterSettings.PrinterName =
> System.Configuration.ConfigurationSettings.AppSettings["MAS.PrinterName"].ToString();
>
> //Configurar Nombre del Documento a Imprimir.
> instancePrintDocument.DocumentName = "ALGUN NOMBRE";
>
> //Configurar Evento de Impresión.
> instancePrintDocument.PrintPage += new
> PrintPageEventHandler(this.instancePrintDocument_PrintPage);
>
> //Configurar Evento que indica cuando se ha terminado la impresión del
> documento.
> instancePrintDocument.EndPrint += new
> PrintEventHandler(this.instancePrintDocument_EndPrintPage);
>
> //Enviar documento a Impresión.
> instancePrintDocument.Print();
>
>
> private void instancePrintDocument_PrintPage(object sender,
> PrintPageEventArgs ev)
> {
> string message;
> System.Drawing.Image newImage = null;
>
> // Crear Imagen.
> newImage = System.Drawing.Image.FromFile("ALGUN ARCHIVO .TIFF");
>
> // Crear coordenadas para la esquina superior izquierda de la imagen.
> int x = 0;
> int y = 0;
>
> // Dibujar una imagen en la pantalla.
> ev.Graphics.DrawImageUnscaled(newImage, x, y);
> }
>
Respuesta Responder a este mensaje
#4 JPablo
30/12/2005 - 18:43 | Informe spam
Que tal, Estuve probando con el método GetFrameCount y ya puedo conocer el
número de hojas del archivo .tiff, el detalle ahora es que como el evento
PrintPage se ejecuta una vez por página entonces llevo un contador de las
páginas impresas; sin embargo por ejemplo si el archivo .tiff tiene 2 hojas y
el evento PrintPage se ejecuta dos veces, Siempre me imprime la primera hoja
dos veces según el valor de GetFrameCount. Yo pretendo que me imprima todas
las hojas que tiene el archivo, como podría lograr esto ??

mi código quedo así:

private void instancePrintDocument_PrintPage(object sender,
PrintPageEventArgs ev)
{
string message;
System.Drawing.Image newImage = null;

// Crear Imagen.
newImage = System.Drawing.Image.FromFile("ALGUN ARCHIVO .TIFF");

// Crear coordenadas para la esquina superior izquierda de la imagen.
int x = 0;
int y = 0;

// Dibujar una imagen en la pantalla.
ev.Graphics.DrawImageUnscaled(newImage, x, y);

//Incrementar Página Impresa.
paginaImpresa += 1; //Esta es una variable global

//Identificar si hay que imprimir una página adicional.
if ( paginaImpresa < numeroPaginasArchivo ) //numeroPaginaArchivo es
global.
ev.HasMorePages = true;
else
ev.HasMorePages = false;
}



"Unai Zorrilla Castro" escribió:

Es sencillo obtner el numero de paginas del .tiff usando la clase Bitmap de
System.Drawing, basta crear el objeto con el path del tiff en el constructor
e invocar al método GetFrameCount con el parametro FrameDimension.Page

Saludos
Unai Zorrilla Castro

"JPablo" escribió:

> Que tal Grupo,
>
> Estoy haciendo una aplicación windows c# que imprime documentos .tiff y estoy
> utilizando la clase PrintDocument. El detalle es que si el .tiff tiene más de
> una hoja solo me imprime la Primera. Como me puedo conocer cuantas páginas
> tiene el archivo .tiff y como configurar para enviar todas las páginas a
> impresión ??
>
> O hay alguna otra forma de enviar a impresión el archivo ??
>
> Esto es parte de la Implementación:
>
> De antemano gracias
> Saludos
>
> //Preparar documento para impresión.
> instancePrintDocument = new System.Drawing.Printing.PrintDocument();
>
> //Nombre de la Impresora.
>
> instancePrintDocument.PrinterSettings.PrinterName =
> System.Configuration.ConfigurationSettings.AppSettings["MAS.PrinterName"].ToString();
>
> //Configurar Nombre del Documento a Imprimir.
> instancePrintDocument.DocumentName = "ALGUN NOMBRE";
>
> //Configurar Evento de Impresión.
> instancePrintDocument.PrintPage += new
> PrintPageEventHandler(this.instancePrintDocument_PrintPage);
>
> //Configurar Evento que indica cuando se ha terminado la impresión del
> documento.
> instancePrintDocument.EndPrint += new
> PrintEventHandler(this.instancePrintDocument_EndPrintPage);
>
> //Enviar documento a Impresión.
> instancePrintDocument.Print();
>
>
> private void instancePrintDocument_PrintPage(object sender,
> PrintPageEventArgs ev)
> {
> string message;
> System.Drawing.Image newImage = null;
>
> // Crear Imagen.
> newImage = System.Drawing.Image.FromFile("ALGUN ARCHIVO .TIFF");
>
> // Crear coordenadas para la esquina superior izquierda de la imagen.
> int x = 0;
> int y = 0;
>
> // Dibujar una imagen en la pantalla.
> ev.Graphics.DrawImageUnscaled(newImage, x, y);
> }
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida