PowerPoint Automation Services en SharePointPowerPoint Automation Services in SharePoint

Aprenda a usar Microsoft PowerPoint Automation Services para hacer conversiones de presentaciones del lado servidor a una variedad de formatos de archivo, y viceversa.Learn to use Microsoft PowerPoint Automation Services to do server-side presentation conversions to and from a variety of file formats.

IntroducciónIntroduction

Muchas empresas, grandes y pequeñas, usan sus bibliotecas de Microsoft SharePoint Server como repositorio para las presentaciones de Microsoft PowerPoint.Many businesses, large and small, use their Microsoft SharePoint Server libraries as a repository for Microsoft PowerPoint presentations. Todas estas empresas tienen sus propias necesidades para almacenar, distribuir y actualizar sus presentaciones.These businesses all have their own particular needs for storing, distributing, and updating their presentations. Microsoft PowerPoint Automation Services es una nueva característica de Microsoft SharePoint que puede ayudar a las empresas a administrar sus presentaciones.Microsoft PowerPoint Automation Services is a new feature of Microsoft SharePoint that can help enterprises to manage their presentations. Es un servicio compartido que ofrece conversión desatendida de presentaciones del lado servidor en otros formatos.It is a shared service that provides unattended, server-side conversion of presentations into other formats. Se diseñó desde el comienzo para funcionar en servidores y puede procesar varios archivos de presentación de manera confiable y predecible.It was designed from the outset to work on servers and can process many presentation files in a reliable and predictable manner.

Con PowerPoint Automation Services, puede hacer conversiones del formato de archivo binario de PowerPoint (.ppt) y el formato de archivo Open XML de PowerPoint (.pptx) en otros formatos. Por ejemplo, puede actualizar un lote de archivos de PowerPoint 97-2003 a archivos de presentación Open XML. También puede crear una acción personalizada en el menú Edición para permitir que los usuarios creen a petición una versión de las presentaciones en formato PDF.Using PowerPoint Automation Services, you can convert from the PowerPoint binary file format (.ppt) and the PowerPoint Open XML file format (.pptx) to other formats. For example, you may want to upgrade a batch of PowerPoint 97-2003 files to Open XML presentation files. You could also create a custom action in the Edit menu to allow users to create a PDF version of presentations on demand.

Nota

PowerPoint Automation Services aprovecha las ventajas de las funciones de SharePoint y es una característica de la misma.PowerPoint Automation Services takes advantage of facilities of SharePoint and is a feature of it. Debe tener SharePoint instalado para usar PowerPoint Automation Services.You must have SharePoint installed to use PowerPoint Automation Services. Si usa SharePoint en una granja de servidores, debe habilitar de forma explícita PowerPoint Automation Services.If you are using SharePoint in a server farm, you must explicitly enable PowerPoint Automation Services.

Escenarios de PowerPoint Automation ServicesPowerPoint Automation Services scenarios

En los siguientes escenarios, se describen algunas formas en que puede usar PowerPoint Automation Services para automatizar el procesamiento de presentaciones en un servidor:The following scenarios describe a couple of ways that you can use PowerPoint Automation Services to automate processing presentations on a server:

  • Una empresa grande almacena todas sus presentaciones de ganancias anuales en una única biblioteca de documentos, en un sitio de intranet corporativo. La biblioteca contiene una gran cantidad de presentaciones que se han acumulado con los años. El departamento de TI quiere actualizar todos los archivos de presentación con el formato de archivo binario de PowerPoint 97-2003 (.ppt) al formato de archivo de presentación Open XML (.pptx). El desarrollador encargado de la conversión decide implementar una solución en el servidor que procesará en iteración cada uno de los archivos de la biblioteca, comprobará si el archivo tiene el formato .ppt y convertirá cada archivo .ppt en el formato de archivo .pptx.A large enterprise stores all of their yearly earnings presentations in a single document library on a corporate intranet site. The library contains a large number of presentations that have accumulated over the years. The IT department wants to upgrade all of the presentation files in the PowerPoint 97-2003 binary file format (.ppt) to the Open XML presentation file format (.pptx). The developer who is performing the conversion decides to deploy a solution to the server that will iterate through each of the files in the library, check to see whether the file is in the .ppt format, and convert each .ppt file to the .pptx file format.

  • Un departamento de ventas regional ofrece estimaciones de servicio personalizadas a cada uno de sus clientes. Cada vendedor revisa sus cotizaciones con los clientes en una reunión, ya sea en persona o en línea. Después de la reunión, el vendedor facilita una copia de la cotización al cliente en formato PDF. El departamento contrata a un proveedor para crear una acción personalizada en el menú Edición para los archivos de PowerPoint almacenados en una biblioteca de documentos de la extranet. Al hacer clic en la acción, el servidor ejecuta un programa que convierte el archivo de PowerPoint en un archivo PDF ubicado en la misma biblioteca.A regional sales department provides custom service estimates to each of their clients. Each salesperson reviews their quotes with clients in a meeting, either in-person or online. After the meeting, the salesperson provides a copy of the quote to the customer in the form of a PDF. The department hires a vendor to create a custom verb in the Edit menu for PowerPoint files stored in a document library in their extranet. When the verb is clicked, the server runs a program that converts the PowerPoint file to a PDF located in the same library.

Formatos de presentación de origen admitidosSupported source presentation formats

Los formatos de presentación de origen admitidos para la conversión son los siguientes:The supported source presentation formats for conversion are as follows:

  • Formato de presentación con formato de archivo Open XML (.pptx)Open XML File Format presentation format (.pptx)

  • Presentación de PowerPoint 97-2003 (.ppt)PowerPoint 97-2003 presentation (.ppt)

Formatos de documento de destino admitidosSupported destination document formats

Los formatos de documento de destino admitidos incluyen todos los formatos de documento de origen admitidos, además de los siguientes:The supported destination document formats include all of the supported source document formats and the following:

  • .pptx (formato de presentación con formato de archivo Open XML).pptx (Open XML File Format presentation format)

  • .pdf.pdf

  • .xps (Open XML Paper Specification).xps (Open XML Paper Specification)

  • .jpg.jpg

  • .png (formato Portable Network Graphics).png (Portable Network Graphics Format)

Limitaciones de PowerPoint Automation ServicesLimitations of PowerPoint Automation Services

PowerPoint Automation Services no incluye capacidades de impresión de documentos, pero es sencillo convertir archivos de presentación de PowerPoint (.ppt y .pptx) a PDF o XPS, y ponerlos en la cola de una impresora.PowerPoint Automation Services does not include capabilities for printing documents. However, it is straightforward to convert PowerPoint presentation files (.ppt and .pptx) to PDF or XPS and spool them to a printer.

API de PowerPoint Automation ServicesPowerPoint Automation Services API

Para usar PowerPoint Automation Services, use su interfaz de programación para enviar una solicitud de conversión al servidor de SharePoint.To use PowerPoint Automation Services, you use its programming interface to send a conversion request to the SharePoint server. En cada solicitud de conversión, especifique los archivos que desea convertir y el formato de salida del trabajo de conversión.For each conversion request, you specify which files you want to convert and the output format of the conversion job. En algunas solicitudes de conversión, también puede especificar el tipo de contenido que desea convertir, como comentarios, diapositivas ocultas o propiedades del documento.For some conversion requests, you can also specify what types of content is converted, including comments, hidden slides, or document properties.

PowerPoint Automation Services usa el método de modelo asincrónico para enviar y recibir solicitudes de conversión. Por lo tanto, puede escribir código que siga en ejecución tras enviar una solicitud de conversión. Si necesita notificar a los usuarios una vez completada la solicitud de conversión, puede especificar un delegado que haga referencia a un método de devolución de llamada que se ejecutará cuando se complete la tarea.PowerPoint Automation Services uses the asynchronous pattern method for sending and receiving conversion requests. Thus, you can write code that continues to execute after a conversion request has been sent. If you need to provide notification to users after a conversion request has been completed, you can specify a delegate that references a callback method to execute when the operation completes.

Nota

[!NOTA] Para más información sobre cómo trabajar con el modelo de diseño asincrónico, vea Modelo de programación asincrónica.For more information about how to work with the asynchronous design pattern, see the Asynchronous Programming Overview.

Las secciones siguientes contienen una lista limitada de las clases necesarias para enviar y recibir solicitudes de conversión. Todas estas clases se incluyen en el espacio de nombres Microsoft.Office.Server.PowerPoint.Conversion.The sections below contain a limited list of the classes that are necessary for sending and receiving a conversion requests. All of these classes are contained in the Microsoft.Office.Server.PowerPoint.Conversion namespace.

Clase base RequestRequest Base Class

La clase Request es la clase más fundamental del espacio de nombres Microsoft.Office.Server.PowerPoint.Conversion. Todos los demás tipos de solicitud ( PresentationRequest, PictureRequest, PdfRequest y XpsRequest) proceden de ella.The Request class is the most fundamental class within the Microsoft.Office.Server.PowerPoint.Conversion namespace. All of the otherrequest types— PresentationRequest, PictureRequest, PdfRequest, and XpsRequest—inherit from it.

Tabla 1. Miembros de la clase base RequestTable 1. Request base class members

Nombre del miembroMember name DescripciónDescription
Método BeginConvert(Microsoft.SharePoint.SPServiceContext, System.AsyncCallback, System.Object)BeginConvert(Microsoft.SharePoint.SPServiceContext, System.AsyncCallback, System.Object) method
Inicia la tarea de conversión. El primer parámetro, serviceContext, especifica el contexto del sitio de SharePoint donde se encuentra el archivo que se convertirá. Use el parámetro callback para especificar un delegado que haga referencia a un método que se ejecutará una vez completada la tarea. Use el parámetro state si necesita transmitir información adicional del código de llamada al método de devolución de llamada. Begins the conversion operation. The first parameter, serviceContext, specifies the context of the SharePoint site where the file to be converted is located. Use the callback parameter to specify a delegate that references a method to execute once the operation has completed. Use the state parameter if you need to pass any additional information from the calling code to the callback method.
Devuelve un objeto IAsyncResult .Returns an IAsyncResult object.
Método EndConvert(IAsyncResult)EndConvert(IAsyncResult) method
Finaliza la tarea de conversión. El parámetro result espera el objeto IAsyncResult resultante que devuelve la solicitud de conversión BeginConvert correspondiente. Si esa solicitud no se completó cuando se llama a EndConvert, se bloquea el subproceso de llamada hasta que finaliza la tarea de conversión. Ends the conversion operation. The result parameter expects the resulting IAsyncResult object that the corresponding BeginConvert conversion request returns. If that request has not been completed when EndConvert is called, the calling thread is blocked until the conversion operation is complete.
No devuelve ningún valor.Does not return a value.

Clase PresentationRequestPresentationRequest class

La clase PresentationRequest, que procede de la clase Request, convierte un archivo de PowerPoint 97-2003 (.ppt) o una presentación con formato de archivo Open XML (.pptx) en otro formato de archivo de presentación. En el primer escenario mencionado arriba, esta clase se usa para convertir archivos de presentación anteriores de una biblioteca de documentos en el formato de presentación con formato de archivo Open XML.The PresentationRequest class, which inherits from the Request class, converts a PowerPoint 97-2003 file (.ppt) or Open XML File Format presentation (.pptx) to another presentation file format. In the first scenario mentioned above, you use this class to convert older presentation files in a document library to the Open XML File Format presentation format.

El método de constructor de la clase PresentationRequest tiene tres parámetros obligatorios:The constructor method for the PresentationRequest class has three required parameters:

  • input: toma el archivo que desea convertir como un objeto Stream .input—Takes the file that you want to convert as a Stream object.

  • extension: cadena que especifica la extensión del archivo que desea convertir.extension—A string that specifies the file extension of the file being converted.

  • output: objeto SPFileStream que especifica dónde se almacenará el archivo de salida.output—An SPFileStream object that specifies where the output will be stored.

La clase PresentationRequest tiene una única sobrecarga para su método de constructor que agrega un parámetro settings. El parámetro settings acepta un objeto PresentationSettings como argumento.The PresentationRequest class has a single overload for its constructor method that adds a settings parameter. The settings parameter accepts a PresentationSettings object as an argument.

Sugerencia: Al convertir de nuevo el objeto de secuencia de salida en un objeto SPFile , compruebe que la extensión proporcionada al archivo resultante coincida con la extensión del tipo de archivo que desea (. ppt o. pptx).Tip: When converting the output Stream object back to an SPFile object, check that the extension given to the resulting file matches the extension of the file type that you want (.ppt or .pptx).

Clase PdfRequestPdfRequest class

La clase PdfRequest, que también procede de la clase Request, convierte un archivo de PowerPoint 97-2003 (.ppt) o una presentación con formato de archivo Open XML (.pptx) en un archivo .pdf. En el segundo escenario mencionado arriba, esta clase se usa para convertir presentaciones en archivos PDF.The PdfRequest class, which also inherits from the Request class, converts a PowerPoint 97-2003 file (.ppt) or Open XML File Format presentation (.pptx) to a.pdf file. In the second scenario mentioned above, you use this class to convert presentations to PDF files.

El método de constructor de la clase PdfRequest también tiene tres parámetros obligatorios ( input, extension y output), similares a la clase PresentationRequest.The constructor method for the PdfRequest class also has three required parameters— input, extension, and output—similar to the PresentationRequest class.

La clase PdfRequest también tiene una única sobrecarga para su método de constructor que agrega un parámetro settings. El parámetro settings acepta un objeto FixedFormatSettings como argumento.The PdfRequest class also has a single overload for its constructor method that adds a settings parameter. The settings parameter accepts a FixedFormatSettings object as an argument.

Sugerencia: Al convertir de nuevo el objeto de secuencia de salida en un objeto SPFile , compruebe que la extensión asignada al archivo resultante coincida con la extensión del tipo de archivo que desee (. pdf).Tip: When converting the output Stream object back to an SPFile object, check that the extension given to the resulting file matches the extension of the file type that you want (.pdf).

Clase PictureRequestPictureRequest class

La clase PictureRequest, que también procede de la clase Request, convierte un archivo de PowerPoint 97-2003 (.ppt) o una presentación con formato de archivo Open XML (.pptx) en una colección de archivos de imagen con formato .jpg o .png.The PictureRequest class, which also inherits from the Request class, converts a PowerPoint 97-2003 file (.ppt) or Open XML File Format presentation (.pptx) to a collection of image files in either the.jpg or .png format.

El método de constructor de la clase PictureRequest tiene cuatro parámetros obligatorios. Los parámetros input, extension y output son similares a los parámetros del constructor de la clase PresentationRequest. El método de constructor de la clase PictureRequest también tiene un parámetro format obligatorio, que debe ser una constante de la enumeración PictureFormat.The constructor method for the PictureRequest class also has four required parameters. The input, extension, and output parameters are similar to the parameters for the PresentationRequest class constructor. The constructor method for the PictureRequest class also has a required format parameter, which must be a constant from the PictureFormat enumeration.

La clase PictureRequest no tiene ninguna sobrecarga para el método de constructor.The PictureRequest class does not have any overloads for its constructor method.

Sugerencia: La clase PictureRequest devuelve una secuencia que contiene un paquete de archivos de imagen.Tip: The PictureRequest class returns a stream that contains a package of image files. Al convertir de nuevo el objeto de salida Stream en un objeto SPFile, compruebe que la extensión asignada al archivo resultante sea .zip.When converting the output Stream object back to an SPFile object, check that the extension given to the resulting file is .zip.

Creación de una aplicación de PowerPoint Automation ServicesBuilding a PowerPoint Automation Services application

La forma más sencilla de mostrar cómo escribir código que usa PowerPoint Automation Services es generar una aplicación de consola.The easiest way to show how to write code that uses PowerPoint Automation Services is to build a console application. Debe generar y ejecutar la aplicación de consola en SharePoint Server, no en un equipo cliente.You must build and run the console application on the SharePoint Server, not on a client computer. El código para iniciar solicitudes de conversión es similar si el código de solicitud de conversión se incorpora a un elemento Web, un flujo de trabajo o un controlador de eventos.The code to start conversion requests is similar whether the conversion request code is incorporated into a web part, a workflow, or an event handler. Mediante PowerPoint Automation Services desde una aplicación de consola, el siguiente procedimiento muestra cómo usar la API sin agregar las complejidades de un elemento Web, un controlador de eventos o un flujo de trabajo.By using PowerPoint Automation Services from a console application, the following procedure shows how to use the API without adding the complexities of a web part, an event handler, or a workflow.

Nota

Como PowerPoint Automation Services es un servicio de SharePoint, solo puede usarlo en una aplicación que se ejecuta directamente en un servidor de SharePoint.Because PowerPoint Automation Services is a service of SharePoint, you can use it only in an application that runs directly on a SharePoint Server. Debe generar la aplicación como una solución de granja de servidores.You must build the application as a farm solution. No puede usar PowerPoint Automation Services desde una solución de espacio aislado.You cannot use PowerPoint Automation Services from a sandboxed solution.

Para crear la aplicaciónTo build the application

  1. Inicie Microsoft Visual Studio 2012.Start Microsoft Visual Studio 2012.

  2. En el menú Archivo, elija Nuevo y luego Proyecto.On the File menu, point to New, and then choose Project.

  3. En el cuadro de diálogo Nuevo proyecto, en Instalado, expanda Plantillas, expanda Visual C# y luego elija Windows.In the New Project dialog box, under Installed, expand Templates, expand Visual C#, and then chose Windows.

  4. En la lista de plantillas de proyecto, elija Aplicación de consola.In the list of project templates, choose Console Application.

  5. Asegúrese de que el proyecto de Visual Studio tenga .NET Framework 4 como destino.Be sure that the project in Visual Studio targets .NET Framework 4.

    Nota

    [!NOTA] Las versiones anteriores de SharePoint Server requerían .NET Framework 3.5 como destino. Las bibliotecas de Microsoft.SharePoint ahora hacen referencia a ensamblados en .NET Framework 4. Asegúrese también de que el proyecto tenga la versión completa de .NET Framework 4 como destino y no .NET Framework 4 Client Profile.Previous versions of SharePoint Server required that you target .NET Framework 3.5. The Microsoft.SharePoint libraries now reference assemblies in .NET Framework 4. Also make sure that your project targets the full .NET Framework 4 and not the .NET Framework 4 Client Profile.

  6. En el cuadro Nombre, escriba el nombre que desea usar para el proyecto, por ejemplo, PAS_Sample.In the Name box, type the name that you want to use for your project, such as PAS_Sample.

  7. En el cuadro Ubicación, escriba la ubicación en donde desea colocar el proyecto.In the Location box, type the location where you want to place the project.

  8. Haga clic en Aceptar para crear la solución.Click OK to create the solution.

  9. De forma predeterminada, Visual Studio 2012 crea proyectos que tienen CPU x86 como destino, pero para generar aplicaciones de SharePoint Server, debe usar cualquier CPU como destino.By default, Visual Studio 2012 creates projects that target x86 CPUs, but to build SharePoint Server applications, you must target any CPU.

    Si desea generar una aplicación de Microsoft Visual C#, en el Explorador de soluciones, haga clic con el botón secundario en el proyecto y luego haga clic en Propiedades.If you are building a Microsoft Visual C# application, in Solution Explorer, right-click the project, and then click Properties.

  • En la ventana Propiedades del proyecto, haga clic en Generar.In the project Properties window, click Build.

  • Elija la lista Configuración y seleccione Todas las configuraciones.Point to the Configuration list, and select All Configurations.

  • Elija la lista Destino de la plataforma y seleccione Cualquier CPU.Point to the Platform Target list, and select Any CPU.

    Si desea generar una aplicación de Microsoft Visual Basic .NET Framework, en la ventana Propiedades, haga clic en Compilar.If you are building a Microsoft Visual Basic .NET Framework application, in the Properties window, click Compile.

  • Haga clic en Opciones de compilación avanzadas.Click Advanced Compile Options.

  • Elija la lista Configuración y seleccione Todas las configuraciones.Point to the Configuration list, and then select All Configurations.

  • Elija la lista Destino de la plataforma y haga clic en Cualquier CPU.Point to the Platform Target list, and then click Any CPU.

  1. En el menú Proyecto, haga clic en Agregar referencia para abrir el cuadro de diálogo Agregar referencia.On the Project menu, click Add Reference to open the Add Reference dialog box.

  2. Expanda Ensamblados y haga lo siguiente:Expand Assemblies, and then do the following:

  • Expanda Framework y agregue una referencia a System.Web.Expand Framework, and then add a reference to System.Web.

  • Expanda Extensiones y agregue una referencia a Microsoft.SharePoint.Expand Extensions, and then add a reference to Microsoft.SharePoint.

  1. También en el cuadro de diálogo Agregar referencia, elija Examinar, navegue hasta la ubicación de Microsoft.Office.Server.PowerPoint.dll (la ubicación predeterminada es C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Office.Server.PowerPoint\v4.0_15.0.0.0__71e9bce111e9429c), seleccione el ensamblado y elija Agregar.Also in the Add Reference dialog box, choose Browse, navigate to the location for the Microsoft.Office.Server.PowerPoint.dll (default location is C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Office.Server.PowerPoint\v4.0_15.0.0.0__71e9bce111e9429c), select the assembly, and then choose Add.

En los siguientes ejemplos de C# y Visual Basic, se muestra una aplicación sencilla de PowerPoint Automation Services que convierte un archivo de PowerPoint 97-2003 (.ppt) en la carpeta Documentos compartidos de un sitio de SharePoint en un archivo Open XML de PowerPoint (.pptx) en la misma carpeta.The following C# and Visual Basic examples show a simple PowerPoint Automation Services application that converts a PowerPoint 97-2003 file (.ppt) in the Shared Documents folder of a SharePoint site to a PowerPoint Open XML file (.pptx) in the same folder.


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using Microsoft.SharePoint;
using Microsoft.Office.Server.PowerPoint.Conversion;

namespace PAS_Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                string siteURL = "http://localhost";
                using (SPSite site = new SPSite(siteURL))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        Console.WriteLine("Begin conversion");

                        // Get a reference to the "Shared Documents" library 
                        // and the presentation file to be converted.
                        SPFolder docs = web.Folders[siteURL + 
                            "/Shared Documents"];
                        SPFile file = docs.Files[siteURL + 
                            "/Shared Documents/Pres1.ppt"];

                        // Convert the file to a stream and create an
                        // SPFileStream object for the conversion output.
                        Stream fStream = file.OpenBinaryStream();
                        SPFileStream stream = new SPFileStream(web, 0x1000);

                        // Create the presentation conversion request.
                        PresentationRequest request = new PresentationRequest(
                            fStream,
                            ".ppt",
                            stream);

                        // Send the request synchronously, passing
                        // in a 'null' value for the callback parameter, 
                        // and capturing the response in the result object.
                        IAsyncResult result = request.BeginConvert(
                            SPServiceContext.GetContext(site),
                            null,
                            null);

                        // Use the EndConvert method to get the result. 
                        request.EndConvert(result);

                        // Add the converted file to the document library.
                        SPFile newFile = docs.Files.Add(
                            "newPres1.pptx", 
                            stream, 
                            true);
                        Console.WriteLine("Output: {0}", newFile.Url);

                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
            finally
            {
                Console.WriteLine("Complete");
                Console.ReadKey();
            }
        }
    }
}

Imports System
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq
Imports System.Text
Imports System.Web
Imports Microsoft.SharePoint
Imports Microsoft.Office.Server.PowerPoint.Conversion

Namespace PAS_Sample
    Class Program
        Private Shared Sub Main(args As String())
            Try
                Dim siteURL As String = "http://localhost"
                Using site As New SPSite(siteURL)
                    Using web As SPWeb = site.OpenWeb()
                        Console.WriteLine("Begin conversion")

                        ' Get a reference to the "Shared Documents" library 
                        ' and the presentation file to be converted.
                        Dim docs As SPFolder = web.Folders(siteURL + _
                            "/Shared Documents")
                        Dim file As SPFile = docs.Files(siteURL + _
                            "/Shared Documents/Pres1.ppt")

                        ' Convert the file to a stream and create an
                        ' SPFileStream object for the conversion output.
                        Dim fStream As Stream = file.OpenBinaryStream()
                        Dim stream As New SPFileStream(web, &H1000)

                        ' Create the presentation conversion request.
                        Dim request As New PresentationRequest(fStream, _
                            ".ppt", 
                            stream)

                        ' Send the request synchronously, passing
                        ' in a Nothing value for the callback parameter, 
                        ' and capturing the response in the result object.
                        Dim result As IAsyncResult = request.BeginConvert(_
                            SPServiceContext.GetContext(site), _
                            Nothing, _
                            Nothing)

                        ' Use the EndConvert method to get the result. 
                        request.EndConvert(result)

                        ' Add the converted file to the document library.
                        Dim newFile As SPFile = docs.Files.Add(_
                            "newPres1.pptx", _
                            stream, _
                            True)

                        Console.WriteLine("Output: {0}", newFile.Url)
                    End Using
                End Using
            Catch ex As Exception
                Console.WriteLine("Error: " + ex.Message)
            Finally
                Console.WriteLine("Complete")
                Console.ReadKey()
            End Try
        End Sub
    End Class
End Namespace

Para generar y ejecutar el ejemploTo build and run the example

  1. Agregue un documento de PowerPoint con el nombre Pres1.ppt en la carpeta Documentos compartidos del sitio de SharePoint.Add a PowerPoint document named Pres1.ppt to the Shared Documents folder in the SharePoint site.

  2. Genere y ejecute el ejemplo.Build and run the example.

  3. Después de esperar un minuto para que se ejecute el proceso de conversión, vaya a la carpeta Documentos compartidos del sitio de SharePoint y actualice la página. La biblioteca de documentos contiene ahora un nuevo documento de PowerPoint, Pres1.pptx.After waiting one minute for the conversion process to run, navigate to the Shared Documents folder in the SharePoint site, and refresh the page. The document library now contains a new PowerPoint document, Pres1.pptx.

PowerPoint Automation Services en SharePoint proporciona a las empresas capacidades avanzadas para administrar sus archivos de presentación.PowerPoint Automation Services on SharePoint provides businesses with advanced capabilities for managing their presentation files. Esta solución de alto rendimiento permite la manipulación y generación de presentaciones del lado servidor escalables, como un lote o a petición.This high-performance solution allows scalable, server-side presentation manipulation and generation, as a batch or on-demand.

Nota

Antes de ejecutar el ejemplo, asegúrese de que PowerPoint Automation Services se ha habilitado en la consola de administración central de SharePoint.Before you run the example, make sure that PowerPoint Automation Services has been enabled in the SharePoint Central Administration console.
Para comprobar que PowerPoint Automation Services está habilitado, haga lo siguiente:To verify that PowerPoint Automation Services is enabled, do the following:

  • En la consola de Administración central, en Configuración del sistema, elija Administrar servicios en el servidor y asegúrese de que Servicio de conversión de PowerPoint se haya establecido en Iniciado.In the Central Administration console, under System Settings, choose Manage services on server, and then make sure that the PowerPoint Conversion Service is set to Started.
  • También en la consola de Administración central, en Administración de aplicaciones, elija Administrar aplicaciones de servicio y asegúrese de que Aplicación de servicio de conversión de PowerPoint y Proxy de la aplicación de servicio de conversión de PowerPoint se hayan establecido en Iniciado.Also in the Central Administration console, under Application Management, choose Manage service applications, and then make sure that the PowerPoint Conversion Service Application and PowerPoint Conversion Service Application Proxy are set to Started.

ConclusiónConclusion

PowerPoint Automation Services en SharePoint proporciona a las empresas capacidades avanzadas para administrar sus archivos de presentación.PowerPoint Automation Services on SharePoint provides businesses with advanced capabilities for managing their presentation files. Esta solución de alto rendimiento permite la manipulación y generación de presentaciones del lado servidor escalables, como un lote o a petición.This high-performance solution allows scalable, server-side presentation manipulation and generation, as a batch or on-demand.

Vea tambiénSee also