Paso 2: Escritura de código en el elemento web
Última modificación: martes, 20 de julio de 2010
Hace referencia a: SharePoint Server 2010
En este tema se muestra cómo escribir código que inicie una conversión de documentos de Servicios de automatización de Word con un elemento web de SharePoint Server 2010. Los usuarios finales pueden convertir documentos de la biblioteca de documentos de SharePoint especificada haciendo clic en un botón de un elemento web.
Escribir código para convertir la biblioteca de documentos
En los siguientes procedimientos se agrega un botón al elemento web y, a continuación, se agrega el código en el evento Click para el botón que iniciará una conversión de documentos de Servicios de automatización de Word.
Para agregar un botón al elemento web
En el proyecto de Visual Studio 2010, para el ejemplo de solución del elemento web, en el Explorador de soluciones, expanda VisualWebPart1, haga clic con el botón secundario en VisualWebPart1UserControl.ascx y, a continuación, haga clic en Diseñador de vistas.
En el Cuadro de herramientas, arrastre un control de botón a la superficie del diseñador.
Con el botón seleccionado en el diseñador, en Propiedades, haga doble clic en el campo (ID), escriba btnSubmit y, a continuación, presione ENTRAR.
En Propiedades, desplácese hasta Texto, haga doble clic en el campo Texto , escriba Convert Document Library y, a continuación, presione ENTRAR.
Para convertir los documentos
Con VisualWebPart1UserControl.ascx abierto en el diseñador, asegúrese de que el botón del elemento web esté seleccionado.
En Propiedades, haga clic en el botón con el icono de rayo para desplazarse a la vista Eventos y, a continuación, haga doble clic en el campo de evento Click. El controlador de eventos de btnSubmit_Click se crea en VisualWebPart1UserControl.ascx.cs.
En VisualWebPart1UserControl.ascx.cs, agregue una directiva using para Servicios de automatización de Word.
using Microsoft.Office.Word.Server.Conversions;
Los objetos principales que se usan para realizar la conversión de documentos de Servicios de automatización de Word se encuentran en el espacio de nombres Microsoft.Office.Word.Server.Conversions.
En el método btnSubmit_Click, agregue el siguiente código.
ConversionJob myJob = new ConversionJob("Word Automation Services");
El argumento de cadena pasado al constructor ConversionJob debe ser el nombre de la instancia de la aplicación del servicio de Servicios de automatización de Word, como se describe en el tema Configuración de Word Automation Services para el desarrollo. Se puede ver el nombre de instancia de la aplicación del servicio en la página Administrar aplicaciones de servicio en Administración central de SharePoint.
A continuación, establezca las propiedades de ConversionJob agregando el siguiente código.
myJob.Settings.OutputFormat = SaveFormat.PDF; myJob.Settings.OutputSaveBehavior = SaveBehavior.AppendIfPossible;
Las dos opciones del código especifican:
El formato de salida debe ser PDF.
Los archivos de salida deben agregarse como una nueva versión a los archivos existentes cuando el control de versiones está activado. En caso contrario, los archivos existentes se deben reemplazar.
Establezca las credenciales que se presentarán cuando se ejecute el trabajo de conversión.
Importante Esta opción especifica que para toda lectura o escritura de documentos se deben usar las credenciales del usuario que hace clic en el botón. De forma predeterminada, Servicios de automatización de Word usa el contexto anónimo, por lo que es importante establecer esta propiedad.
myJob.UserToken = SPContext.Current.Web.CurrentUser.UserToken;
A continuación, especifique la biblioteca de entrada que contiene los archivos que desea convertir y la biblioteca de salida para los archivos convertidos.
SPWeb myWebSite = SPContext.Current.Web; SPList inputLibrary = myWebSite.Lists["Input"]; SPList outputLibrary = myWebSite.Lists["Output"]; myJob.AddLibrary(inputLibrary, outputLibrary, true);
Por último, complete el código del método btnSubmit_Click agregando el código que inicia el trabajo de conversión de Servicios de automatización de Word.
myJob.Start();
Cuando un usuario hace clic en el botón del elemento web, el código inicia un trabajo de conversión para los archivos de la biblioteca de entrada.
Vea también
Tareas
Paso 1: Configuración del proyecto de Visual Studio 2010 para la solución de elementos web
Paso 3: creación e implementación de la solución de elemento web
Conceptos
Tutorial: Creación de un elemento web que use Word Automation Services