Mostrar un archivo PDF en un formulario VB.NET

click fraud protection

Los archivos PDF tienen un formato de documento interno que requiere un objeto de software que "entienda" el formato. Dado que muchos de ustedes podrían haber utilizado las funciones de Office en su código VB, veamos brevemente Microsoft Word como un ejemplo de procesamiento de un documento formateado para asegurarnos de que entendemos el concepto. Si desea trabajar con un documento de Word, debe agregar una Referencia a la Biblioteca de objetos de Microsoft Word 12.0 (para Word 2007) y luego crear una instancia del objeto Aplicación de Word en su código.

 Dim myWord como Microsoft. Oficina. Interoperabilidad Palabra. Clase de aplicación
'Inicie Word y abra el documento.
myWord = CreateObject ("Word. Solicitud")
mi palabra. Visible = Verdadero
mi palabra. Documentos. Abrir ("C: \ myWordDocument.docx")

("" debe reemplazarse con la ruta real al documento para que este código funcione en su PC).

Microsoft usa la Biblioteca de objetos de Word para proporcionar otros métodos y propiedades para su uso. Leer el artículo

instagram viewer
Interoperabilidad COM-.NET en Visual Basic para comprender más acerca de la interoperabilidad COM de Office.

Pero los archivos PDF no son una tecnología de Microsoft. PDF - Formato de documento portátil - es un formato de archivo creado por Adobe Systems para el intercambio de documentos. Durante años, fue totalmente propietario y tuvo que obtener un software que pudiera procesar un archivo PDF de Adobe. El 1 de julio de 2008, el PDF se finalizó como un estándar internacional publicado. Ahora, cualquiera puede crear aplicaciones que puedan leer y escribir archivos PDF sin tener que pagar regalías a Adobe Systems. Si planea vender su software, es posible que deba obtener una licencia, pero Adobe los proporciona sin regalías. (Microsoft creó un formato diferente llamado XPS que se basa en XML. El formato PDF de Adobe se basa en Postscript. XPS se convirtió en un estándar internacional publicado el 16 de junio de 2009.)

Los usos de PDF

Dado que el formato PDF es un competidor de la tecnología de Microsoft, no brindan mucho soporte y usted tiene que obtener un objeto de software que "entienda" el formato PDF de alguien que no sea Microsoft en este momento. Adobe le devuelve el favor. Tampoco admiten muy bien la tecnología de Microsoft. Citando la última documentación de Adobe Acrobat 9.1 (octubre de 2009), "Actualmente no hay soporte para desarrollo de complementos utilizando lenguajes administrados como C # o VB.NET. "(Un" complemento "es un software a pedido componente. El complemento de Adobe se utiliza para mostrar archivos PDF en un navegador ").

Como PDF es un estándar, varias compañías han desarrollado software para la venta que puede agregar a su proyecto que hará el trabajo, incluido Adobe. También hay una serie de sistemas de código abierto disponibles. También puede usar las bibliotecas de objetos de Word (o Visio) para leer y escribir archivos PDF, pero usando estos grandes sistemas por solo Esto requerirá una programación adicional, también tiene problemas de licencia y hará que su programa sea más grande de lo que debe ser.

Del mismo modo que necesita comprar Office antes de poder aprovechar Word, también debe comprar la versión completa de Acrobat antes de poder aprovechar más que solo el Reader. Usaría el producto Acrobat completo de la misma manera que se usan otras bibliotecas de objetos, como Word 2007 anterior. No tengo el producto Acrobat completo instalado, así que no pude proporcionar ningún ejemplo probado aquí.

Cómo

Pero si solo necesita mostrar archivos PDF en su programa, Adobe proporciona un control COM ActiveX que puede agregar a VB.NET Toolbox. Hará el trabajo gratis. De todos modos, es el mismo que probablemente use para mostrar archivos PDF: el Adobe Acrobat PDF Reader gratuito.

Para usar el control Reader, primero asegúrese de haber descargado e instalado el Acrobat Reader gratuito de Adobe.

El paso 2 es agregar el control a VB.NET Toolbox. Abra VB.NET e inicie una aplicación estándar de Windows. (La "próxima generación" de presentación de Microsoft, WPF, aún no funciona con este control. ¡Lo sentimos!) Para hacer eso, haga clic derecho en cualquier pestaña (como "Controles comunes") y seleccione "Elegir elementos ..." en el menú contextual que aparece. Seleccione la pestaña "Componentes COM" y haga clic en la casilla de verificación junto a "Adobe PDF Reader" y haga clic en Aceptar. Debería poder desplazarse hacia abajo hasta la pestaña "Controles" en la Caja de herramientas y ver el "Adobe PDF Reader" allí.

Ahora simplemente arrastre el control a su formulario de Windows en la ventana de diseño y ajústelo adecuadamente. Para este ejemplo rápido, no voy a agregar ninguna otra lógica, pero el control tiene mucha flexibilidad que le diré cómo averiguar más adelante. Para este ejemplo, solo voy a cargar un PDF simple que creé en Word 2007. Para hacerlo, agregue este código al formulario Procedimiento de evento de carga:

 Consola. WriteLine (AxAcroPDF1.LoadFile (_
"C: \ Users \ Temp \ SamplePDF.pdf"))

Sustituya la ruta y el nombre de archivo de un archivo PDF en su propia computadora para ejecutar este código. Mostré el resultado de la llamada en las ventanas de Salida solo para mostrar cómo funciona. Aquí está el resultado:


Haga clic aquí para mostrar la ilustración.
Haga clic en el botón Atrás en su navegador para volver

Si desea controlar el Lector, también hay métodos y propiedades para eso en el control. Pero la buena gente de Adobe ha hecho un mejor trabajo que yo. Descargue el SDK de Adobe Acrobat desde su centro de desarrolladores ( http://www.adobe.com/devnet/acrobat/). El programa AcrobatActiveXVB en el directorio VBSamples del SDK le muestra cómo navegar en un documento, obtener los números de versión del software de Adobe que está utilizando y mucho más. Si no tiene instalado el sistema Acrobat completo, que debe adquirirse en Adobe, no podrá ejecutar otros ejemplos.

instagram story viewer