Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/03/2012, 13:29
goncri
 
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 12 años, 11 meses
Puntos: 0
Pregunta Imprimir un documento PDF sin abrir acrobat reader C# Visual Studio 2002

Imprimir un documento PDF sin abrir acrobat reader C# Visual Studio 2002
Hola que tal?

Escribo para hacer la siguiente consulta:

Tengo que imprimir un PDF desde C#, pero tengo como restricción que no se abra ninguna ventana de Acrobat Reader.

El leído el foro

http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread/c4a5c21d-4629-43f3-a096-c5fbf1b89eb3

que recomiendan el uso de \t pero de todos modos se abre una ventana.

Existe alguna forma que no se abra la venta del Acrobat o por lo menos que se inice minimizada para que no se visualice.

He utilizado la sentencia P.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

Pero de todos modos se visualiza la venta.

Agego el código para mas información:



private static void RunExecutable(string executable, string arguments)
{
// Código de ejemplo sustraído http://aspalliance.com/514_CodeSnip_Printing_PDF_from_NET.3
// Se modifico para que se puedo tomar procesos en ejecución y no crear siempre un proceso.
try
{
// Se crea información de contexto para la ejecución de la impresión del pdf.
ProcessStartInfo starter = new ProcessStartInfo(executable, arguments);

starter.UseShellExecute = false;
starter.WindowStyle = ProcessWindowStyle.Hidden;

// En caso de que exista el proceso del acrobat se toma de lo contrario de crea
Process mProc;
//Se obtiene una lista con los procesos de acrobat
Process[] mAcroProcess = Process.GetProcessesByName(ACROBAT_READER);


// En caso de que no exista ningún proceso con esa descripción.
if(mAcroProcess.Length == 0)
{
//Se crea el proceso en caso de que no exista
mProc = new Process();
}
else
{
//Se toma el primer proceso
mProc = mAcroProcess[0];
}

mProc.StartInfo = starter;

//Se ejecuta la impresión.
mProc.Start();


}
catch(Exception bEx)
{

Console.WriteLine(bEx.Message);


}
}


Saludos.