Visor de Power Point en WPF


Una pequeña frikada que usé en CodeCamp. Modificando un poco la demo se puede conseguir un visor de PPTs muy apañadito. El truco está en exportar desde Powerpoint 2007 la presentación en formato XPS. Este formato es una paquetización del documento en XAML con todos sus recursos. Mediante la clase XpsDocument de WPF se puede cargar dinámicamente y mostrar como un elemento más. El resultado es espectacular porque además se puede retocar el XAML producido por PowerPoint y añadir algún efecto, como una animación en 3D:


El código fuente está aquí: PPTViewer.zip.


Lo único que hay que tener en cuenta para conseguir este efecto es utilizar el control DocumentPageView en lugar del DocumentViewer. Con esto tomamos control absoluto de cómo se visualiza el documento para no mostrar la barra de búsqueda, zoom, etc. Para cargar un documento XpsDocument y mostrarlo sólo nos hacen falta cuatro líneas:


doc = New XpsDocument(_documentPath, IO.FileAccess.Read)
docPaginator = doc.GetFixedDocumentSequence().DocumentPaginator
_docPageViewer.DocumentPaginator = docPaginator
_docPageViewer.PageNumber = slideNumber


Comments (10)

  1. carlos says:

    lo quiero por q me hace falta

  2. Danny says:

    hla????

    quiero que me pasen l tarea del cole…..

    jejejejejeje

    nos vemmo·

    Adiooooooooooooooooo!!!!!!!!!!!!!!!!!!!!!!!!!!

  3. Pero qué bien me lo pasé en el ReMIX de junio. Fueron dos días intensos, con muchos nervios y sueño pero

  4. Pero qué bien me lo pasé en el ReMIX de junio. Fueron dos días intensos, con muchos nervios y sueño pero

  5. Pero qué bien me lo pasé en el ReMIX de junio. Fueron dos días intensos, con muchos nervios y sueño pero

  6. SuNcO says:

    El codigo parece estar hecho con VS 2005, yo utilizo VS 2008 y me marca algunos errores (supongo por la conversion)

  7. Carlos Azabache says:

    Salu2 alguien sabe como hacer para visualizar archivos de office en general (quiero visualizar archivos de word y de ppt )

    agradeceria respuestas a carlos_bmx@hotmail.com

  8. MRCalderon3D says:

    ¿Alguna forma de recuperar este código fuente?

    gracias.

Skip to main content