Manejadores de Pre Visualizacion (Preview Handlers) en Windows Vista y Office 2007

 

La claridad visual que ofrece el sistema operativo Windows Vista es interesante ya que nos podemos beneficiar directamente de ella. Entre tantas características del producto relacionadas con aspectos visuales contamos con el “Panel de Pre Visualizacion”. Desde explorador de Windows si te posicionas en cualquier carpeta y seleccionas la opción:

fig01.gif

Encontraras un nuevo panel de visualización que te permitirá pre visualizar el contenido del archivo que selecciones:

Este panel de pre visualización simplemente te ofrece la posibilidad de visualizar el contenido de tus archivos antes de abrirlos de tal manera que puedes consultar el contenido para decidir si en verdad ese archivo es el que deseas abrir. Puedes navegar sobre el contenido del archivo e incluso seleccionar y copiar contenido. Esta funcionalidad esta soportada de manera predeterminada para la mayoría de los archivos de office como Word, Excel, PowerPoint así como archivos de texto, imagen, audio y video. Sin embargo contamos con infinidad de archivos adicionales en el sistema (zip, pdf, xml, html, etc) que indudablemente sería fabuloso poder pre visualizar dentro de este panel y es aquí en donde los “Manejadores de pre visualización” o más bien conocidos como “Preview Handlers” nos permiten extender esta funcionalidad para personalizar y soportar a nuestro antojo el comportamiento de esta funcionalidad.

Una serie de APIs dentro de Windows Vista nos ofrecen la posibilidad de crear nuestros propios manejadores de pre visualización para visualizar los archivos que nosotros queramos dentro del sistema operativo la buena noticia es que Stephen Toub un editor de MSDN Magazine a construido todo un marco de trabajo de programación para permitirnos construir nuestros propios manejadores de visualización. Este marco de trabajo ha sido publicado en la edición de enero de MSDN Magazine bajo el titulo de View Data Your Way With Our Managed Preview Handler Framework y nos ofrece la implementación de una gran variedad de manejadores de pre visualización que podemos instalar inmediatamente sobre nuestro Windows Vista. También cabe mencionar que tanto Windows Vista como Outlook 2007 utilizan las mismas APIs de pre visualización soportando la misma funcionalidad y es por eso que con Outlook 2007 podemos pre visualizar nuestros archivos adjuntos dentro del panel de lectura o “Reading Pane” como le llaman.

Es muy sencillo crear tu propio Preview Handler y soportar tu propio archivo. Y la experiencia que como usuario tienes es simplemente increíble ya que te ahorras tiempo y esfuerzo con esta característica.

Por ejeplo a mi me fascino el Preview Handler para archivos XPS.

El de archivos ZIP esta fenomenal.

Yo ya tuve la oportunidad de construir mi propia implementación de un preview handler en particular y como programador puedo decir que es sumamente sencilla y fácil de realizar. Simplemente heredamos de una clase e implementamos un par de métodos y listo. Veamos lo sencillo que es construir un manejador de pre visualizacion para archivos xaml. Este cofigo viene disponible dentro del marco de programacion que menciono antes.

 

// Stephen Toub

using System;
using System.IO;
using System.Windows.Markup;
using System.Windows.Controls;
using System.Windows.Forms.Integration;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Drawing;

namespace MsdnMag
{
    [PreviewHandler("MSDN Magazine XAML Preview Handler", ".xaml", "{7b7855e8-62d6-4887-8938-bfe1a11a62ce}")]
    [ProgId("MsdnMag.XamlPreviewHandler")]
    [Guid("dec9ca47-e4cd-4eed-8f1b-b0567a489f0a")]
    [ClassInterface(ClassInterfaceType.None)]
    [ComVisible(true)]
    public sealed class XamlPreviewHandler : StreamBasedPreviewHandler
    {
        protected override PreviewHandlerControl CreatePreviewHandlerControl()
        {
            return new XamlPreviewHandlerControl();
        }

        private sealed class XamlPreviewHandlerControl : StreamBasedPreviewHandlerControl
        {
            public override void Load(Stream stream)
            {
                // Load all of the XAML content into a frame
                Frame f = new Frame();
                XamlReader reader = new XamlReader();
                f.Content = reader.LoadAsync(stream);

                // Wrap the frame in an element host
                ElementHost xamlHost = new ElementHost();
                xamlHost.Child = f;
                xamlHost.Dock = DockStyle.Fill;
                xamlHost.BackColor = SystemColors.Window;

                Controls.Add(xamlHost);
            }
        }
    }
}

 

Así que te dejo una serie de enlaces que estoy seguro te ayudaran para aprender rápidamente a hacer uso de toda esta funcionalidad y a implementar algunos manejadores para archivos comunes.

· Managed Preview Handler Framework (soporte para zip, xml, xaml, resx, csv, msi, ie)

· Vista and Office 2007 Preview Pack (soporte para archivos .cs,.aspx, .sql)

· Photoshop Preview Handler

· ScreenCast de Daniel Moth sobre Preview Handlers

Suerte!

Publicado por

haarongonzalez

Consultor de tecnología de la información dedicado a entregar soluciones de misión crítica para organizaciones donde la colaboración, la comunicación y el conocimiento son su inversión estratégica. Reconocido como Microsoft Most Valuable Professional en ASP / ASP.NET desde 2005 y SharePoint Server desde 2009. Interés: Satisfacción del Cliente, Excelencia Operacional, Desarrollo de Personas, Ingeniería en Pre-Ventas Especialidades: Colaboración, Gestión de Contenidos Web, Gestión del Conocimiento, Gestión de Contenidos Empresariales, Gestión de Formularios, Intranet, Extranet, Portales, Implementaciones de entornos on-premises de SharePoint, Arquitectura de soluciones, Soporte Especializado en SharePoint y Office 365 Tecnologías: SharePoint todas las versiones, Office 365, Nintex, DocuSign, Sharegate, PowerApps, Flow, SPDocKit, InfoPath, .NET, C #, JavaScript, CSS, Skeleton Framework, Office 365 PnP

2 thoughts on “Manejadores de Pre Visualizacion (Preview Handlers) en Windows Vista y Office 2007”

  1. En Windows XP se soportaban Preview Handlers para archivos CBR/CBZ (RAR/ZIP con la extensión cambiada). Estos formatos, como es sabido, se utilizan de forma estándar para comics. resultaba muy cómodo visualizar las portadas de tu colección desde el exporador. N Windows Vista parece que no han incluido esos Handlers. ¿alguna idea para remediarlo?
    Saludos.

  2. hola, estoy trantando de mostrar un documento de word en una aplicacion de visual studio 2008, por el momento lo hago por medio de un richtextbox en fomato .rtf pero tengo varios problemas si utilizo tablas.

    no se si depronto sabes como puedo solucionar esto, o q puedo utilizar para mostrar este documento

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *