2010-12-21 295 views
29

¿Hay alguna manera de ver archivos PDF en una herramienta de Winforms? He visto soluciones como convertir el archivo pdf en imágenes y mostrarlas en un cuadro de imagen. Sin embargo, estoy preguntando si puedo ver el archivo como PDF. ¿Hay alguna herramienta de adobe o de Microsoft que admita esto?Visualización de PDF en formularios de Windows con C#

+2

No todos los equipos de usuario final va a tener Adobe Reader o cualquier otro visor de PDF (con un plugin IE) instalado. Por lo tanto, necesitará un control .NET nativo para mostrar el PDF. Gnostice tiene un [control de visor de PDF para .NET] (http://www.gnostice.com/nl_article.asp?id=159&t=How_To_Create_A_PDF_Viewer_in_PDFOne_NET_v2_x "control de visor de PDF para .NET") en el conjunto de componentes de PDFOne. Descargo de responsabilidad: yo trabajo para esta empresa. – BZ1

+0

¡¡¡interesante !! Ya terminé el proyecto en el que estaba trabajando cuando hice esta pregunta ... ¡pero voy a intentarlo con seguridad! thx para el consejo;) – Majd

+0

Esto fue respondida en una pregunta de WPF, así que no sé si funciona, pero es para winforms ... http: // stackoverflow.com/questions/55083/opening-a-pdf-in-wpf-application/55177 # 55177 – LD7

Respuesta

22

puede utilizar System.Diagnostics.Process.Start, así como función de Win32 ShellExecute por medio de interoperabilidad, para abrir archivos PDF con el visor por defecto:

System.Diagnostics.Process.Start("SOMEAPP.EXE","Path/SomeFile.Ext"); 

[System.Runtime.InteropServices.DllImport("shell32. dll")] 
private static extern long ShellExecute(Int32 hWnd, string lpOperation, 
            string lpFile, string lpParameters, 
             string lpDirectory, long nShowCmd); 

Otro enfoque es colocar un WebBrowser Control en su Formulario y luego usar el Navigate método para abrir t que el archivo PDF:

ThewebBrowserControl.Navigate(@"c:\the_file.pdf"); 
+4

no quiere que Windows forme el proyecto que está haciendo alojando al lector, no lo inicie –

+0

Sí, como dijo Saif, necesito ver el archivo pdf dentro de mi aplicación y no abrir el lector de PDF :) – Majd

+1

Use el control WebBrowser en su formulario . – ArBR

22

Creo que la forma más sencilla es utilizar el lector de Adobe PDF componente COM

  1. haga clic derecho en su caja de herramientas & seleccione "Elegir Artículos "
  2. Seleccione la pestaña" Componentes COM "
  3. Seleccione" Adobe PDF Reader "y haga clic en Aceptar
  4. Arrastre & Suelta el control de su formulario & modificar el "src" Propiedad de la PDF archivos que desea leer

espero que esto ayude a

+0

MUY NEUT = D thx !! – Majd

+1

de nada :) –

+0

¿cómo puedo cambiar el tamaño de este control para que no consuma toda la forma sino que cambie de tamaño cuando cambie el tamaño del formulario? – thewikus

0

http://www.youtube.com/watch?v=a59LvC6BOuk

Utilice el enlace anterior

private void btnopen_Click(object sender, EventArgs e){ 
    OpenFileDialog openFileDialog1 = new OpenFileDialog(); 
    if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK){ 
     axAcroPDF1.src = openFileDialog1.FileName; 
    } 
} 
Cuestiones relacionadas