PowerPoint Automation Services dans SharePointPowerPoint Automation Services in SharePoint

Découvrez comment utiliser Microsoft PowerPoint Automation Services pour effectuer des conversions de présentation du côté serveur et une variété de formats de fichiers.Learn to use Microsoft PowerPoint Automation Services to do server-side presentation conversions to and from a variety of file formats.

IntroductionIntroduction

De nombreuses entreprises, grandes et petites, utilisent leurs bibliothèques Microsoft SharePoint Server comme un référentiel pour les présentations Microsoft PowerPoint.Many businesses, large and small, use their Microsoft SharePoint Server libraries as a repository for Microsoft PowerPoint presentations. Ces entreprises tous ont leurs propres besoins particuliers pour le stockage, la distribution et la mise à jour de leurs présentations.These businesses all have their own particular needs for storing, distributing, and updating their presentations. Microsoft PowerPoint Automation Services est une nouvelle fonctionnalité de Microsoft SharePoint qui peut aider les entreprises à gérer leurs présentations.Microsoft PowerPoint Automation Services is a new feature of Microsoft SharePoint that can help enterprises to manage their presentations. C'est un service partagé qui fournit une conversion sans assistance, côté serveur des présentations dans d'autres formats.It is a shared service that provides unattended, server-side conversion of presentations into other formats. Il a été conçu dès le début pour fonctionner sur des serveurs et peut traiter de nombreux fichiers de présentation de manière fiable et prévisible.It was designed from the outset to work on servers and can process many presentation files in a reliable and predictable manner.

À l'aide de PowerPoint Automation Services, vous pouvez convertir à partir du format de fichier binaire (.ppt) PowerPoint et le format de fichier Open XML PowerPoint (.pptx) vers d'autres formats. Par exemple, vous souhaiterez peut-être mettre à niveau un lot de PowerPoint fichiers 97 - 2003 vers des fichiers de présentation d'Open XML. Vous pouvez également créer une action personnalisée dans le menu Edition pour permettre aux utilisateurs de créer une version de fichier PDF de présentations à la demande.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.

Notes

PowerPoint Automation Services tire parti des fonctionnalités de SharePoint et est une fonctionnalité de ce dernier.PowerPoint Automation Services takes advantage of facilities of SharePoint and is a feature of it. SharePoint doit être installé pour utiliser les services d'automatisation de PowerPoint.You must have SharePoint installed to use PowerPoint Automation Services. Si vous utilisez SharePoint dans une batterie de serveurs, vous devez activer explicitement les services d'automatisation de PowerPoint.If you are using SharePoint in a server farm, you must explicitly enable PowerPoint Automation Services.

Scénarios de Services d'automatisation de PowerPointPowerPoint Automation Services scenarios

Les scénarios suivants décrivent deux manières que vous pouvez utiliser PowerPoint Automation Services pour automatiser le traitement des présentations sur un serveur :The following scenarios describe a couple of ways that you can use PowerPoint Automation Services to automate processing presentations on a server:

  • Une grande entreprise stocke toutes leurs présentations bénéfices annuels dans une bibliothèque de documents sur un site intranet d'entreprise. La bibliothèque contient un grand nombre de présentations collectées au fil des ans. Le service informatique souhaite de mise à niveau tous les fichiers de présentation dans les PowerPoint format de fichier binaire 97-2003 (.ppt) au format de fichier de présentation Open XML (.pptx). Le développeur qui effectue la conversion décide de déployer une solution sur le serveur qui sera itérer au sein de chacun des fichiers dans la bibliothèque, vérifie si le fichier est au format .ppt et convertir chaque fichier .ppt au format de fichier .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 service commercial régional fournit des estimations de service personnalisé à chacun de leurs clients. Chaque vendeur passe en revue leurs prix avec les clients dans une réunion, en personne ou en ligne. Après la réunion, le vendeur fournit une copie de la soumission au client sous la forme d'un fichier PDF. Le département appel à un fournisseur pour créer un verbe personnalisé dans le menu Edition pour les fichiers PowerPoint stocké dans une bibliothèque de documents dans leur extranet. Lorsque le verbe est activé, le serveur exécute un programme qui permet de convertir le fichier PowerPoint au format PDF situé dans la même bibliothèque.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.

Formats de présentation source pris en chargeSupported source presentation formats

Les formats de présentation source pris en charge pour la conversion sont les suivants :The supported source presentation formats for conversion are as follows:

  • Format de présentation au Format de fichier XML ouvert (.pptx)Open XML File Format presentation format (.pptx)

  • Présentation de PowerPoint 97-2003 (.ppt)PowerPoint 97-2003 presentation (.ppt)

Formats de documents de destination pris en chargeSupported destination document formats

Les formats de documents de destination pris en charge incluent tous les formats de documents sources pris en charge et les éléments suivants :The supported destination document formats include all of the supported source document formats and the following:

  • .pptx (format de présentation au Format de fichier open XML).pptx (Open XML File Format presentation format)

  • .pdf.pdf

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

  • .jpg.jpg

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

Limitations des Services d'automatisation de PowerPointLimitations of PowerPoint Automation Services

PowerPoint Automation Services n'inclut pas les fonctionnalités pour l'impression des documents. Toutefois, il est facile de convertir des fichiers de présentation PowerPoint (.ppt et .pptx) au format PDF ou XPS et les mettre en attente sur une imprimante.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

Pour utiliser les services d'automatisation de PowerPoint, vous devez utiliser son interface de programmation pour envoyer une demande de conversion au serveur SharePoint.To use PowerPoint Automation Services, you use its programming interface to send a conversion request to the SharePoint server. Pour chaque demande de conversion, vous spécifiez les fichiers que vous souhaitez convertir et le format de sortie de la tâche de conversion.For each conversion request, you specify which files you want to convert and the output format of the conversion job. Certaines demandes de conversion, vous pouvez également spécifier que les types de contenu est converti, y compris les commentaires, les diapositives masquées ou les propriétés de document.For some conversion requests, you can also specify what types of content is converted, including comments, hidden slides, or document properties.

PowerPoint Automation Services utilise la méthode de modèle asynchrone pour envoyer et recevoir des demandes de conversion. Par conséquent, vous pouvez écrire du code qui continue de s'exécuter après l'envoi d'une demande de conversion. Si vous avez besoin fournir des notifications aux utilisateurs après qu'une demande de conversion est terminée, vous pouvez spécifier un délégué qui fait référence à une méthode de rappel à exécuter lorsque l'opération se termine.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.

Notes

[!REMARQUE] Pour plus d'informations sur la façon de travailler avec le modèle de design asynchrone, consultez la Vue d'ensemble de programmation asynchrone.For more information about how to work with the asynchronous design pattern, see the Asynchronous Programming Overview.

Les sections suivantes contiennent une liste restreinte des classes qui sont nécessaires pour l'envoi et la réception de que demandes de conversion. Toutes ces classes sont contenues dans l'espace de noms 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.

Classe de Base de demandeRequest Base Class

La classe Request est le plus fondamental au sein de l'espace de noms Microsoft.Office.Server.PowerPoint.Conversion. Tous les autres types dedemande — PresentationRequest, PictureRequest, PdfRequestet XpsRequest— hériter de celui-ci.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.

Le tableau 1. Demander des membres de la classe de baseTable 1. Request base class members

Nom du membreMember name DescriptionDescription
méthode de BeginConvert(Microsoft.SharePoint.SPServiceContext, System.AsyncCallback, System.Object)BeginConvert(Microsoft.SharePoint.SPServiceContext, System.AsyncCallback, System.Object) method
Commence l'opération de conversion. Le premier paramètre, serviceContext, spécifie le contexte du site SharePoint où se trouve le fichier à convertir. Le paramètre callback permet de spécifier un délégué qui fait référence à une méthode pour exécuter une fois l'opération terminée. Utilisez le paramètre state si vous avez besoin de transmettre des informations supplémentaires à partir du code d'appel à la méthode de rappel. 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.
Renvoie un objet IAsyncResult .Returns an IAsyncResult object.
méthode de EndConvert(IAsyncResult)EndConvert(IAsyncResult) method
Fin de l'opération de conversion. Le paramètre result attend l'objet résultant IAsyncResult renvoyant à la demande de conversion BeginConvert correspondante. Si ce type de demande n'est pas terminée lorsque EndConvert est appelée, le thread d'appel est bloqué jusqu'à ce que l'opération de conversion est terminée. 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.
Ne retourne pas de valeur.Does not return a value.

Classe de PresentationRequestPresentationRequest class

La classe PresentationRequest, qui hérite de la classe Request, convertit un PowerPoint fichier de 97-2003 (.ppt) ou d'une présentation au Format de fichier Open XML (.pptx) vers un autre format de fichier de présentation. Dans le premier scénario mentionné ci-dessus, vous utilisez cette classe pour convertir d'anciens fichiers de présentation dans une bibliothèque de documents au format de présentation au Format de fichier 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.

La méthode constructeur de la classe PresentationRequest a trois paramètres obligatoires :The constructor method for the PresentationRequest class has three required parameters:

  • _input_— prend le fichier que vous souhaitez convertir en tant qu'objet Stream .input—Takes the file that you want to convert as a Stream object.

  • _extension_— une chaîne qui spécifie l'extension de fichier du fichier en cours de conversion.extension—A string that specifies the file extension of the file being converted.

  • _output_— un objet SPFileStream qui indique où le résultat sera stocké.output—An SPFileStream object that specifies where the output will be stored.

La classe PresentationRequest possède une surcharge unique pour sa méthode constructeur qui ajoute un paramètre settings. Le paramètre settings accepte un objet PresentationSettings en tant qu'argument.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.

Conseil: Lors de la conversion de l'objet de flux de sortie en objet de fichier, vérifiez que l'extension donnée au fichier résultant correspond à l'extension du type de fichier que vous souhaitez (. ppt ou. 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).

Classe de PdfRequestPdfRequest class

La classe PdfRequest, qui hérite également de la classe Request, convertit un PowerPoint fichier de 97-2003 (.ppt) ou d'une présentation au Format de fichier Open XML (.pptx) a.pdf fichier. Dans le deuxième scénario mentionné ci-dessus, vous utilisez cette classe pour convertir les présentations au format 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.

The constructor method for the PdfRequest class also has three required parameters— input, extension, and output—similar to the PresentationRequest class.The constructor method for the PdfRequest class also has three required parameters— input, extension, and output—similar to the PresentationRequest class.

La classe PdfRequest a également une surcharge unique pour sa méthode constructeur qui ajoute un paramètre settings. Le paramètre settings accepte un objet FixedFormatSettings en tant qu'argument.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.

Conseil: Lors de la conversion de l'objet de flux de sortie en objet de fichier, vérifiez que l'extension donnée au fichier résultant correspond à l'extension du type de fichier que vous souhaitez (. 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).

Classe de PictureRequestPictureRequest class

La classe PictureRequest, qui hérite également de la classe Request, convertit un PowerPoint 97-2003 (.ppt) de fichier ou présentation au Format de fichier Open XML (.pptx) à une collection de fichiers image au format the.jpg ou .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.

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.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 classe PictureRequest ne dispose pas des surcharges de sa méthode constructeur.The PictureRequest class does not have any overloads for its constructor method.

Conseil: La classe PictureRequest renvoie un flux qui contient un package de fichiers image.Tip: The PictureRequest class returns a stream that contains a package of image files. Lors de la conversion de l'objet Stream de sortie vers un objet SPFile , vérifiez que l'extension de donner au fichier qui en résulte est .zip.When converting the output Stream object back to an SPFile object, check that the extension given to the resulting file is .zip.

Création d'une application de Services d'automatisation de PowerPointBuilding a PowerPoint Automation Services application

Le moyen le plus simple pour montrer comment écrire du code qui utilise PowerPoint Automation Services consiste à créer une application console.The easiest way to show how to write code that uses PowerPoint Automation Services is to build a console application. Vous devez créer et exécuter l'application de console sur le SharePoint Server, et non sur un ordinateur client.You must build and run the console application on the SharePoint Server, not on a client computer. Le code permettant de lancer les requêtes de conversion est similaire, que le code de la demande de conversion soit incorporé à un composant WebPart, un flux de travail ou un gestionnaire d'événements.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. À l'aide de PowerPoint Automation Services à partir d'une application console, la procédure suivante montre comment utiliser l'API sans ajouter les complexités d'un composant WebPart, d'un gestionnaire d'événements ou d'un flux de travail.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.

Notes

Étant donné que PowerPoint Automation Services est un service de SharePoint, vous pouvez l'utiliser uniquement dans une application qui s'exécute directement sur un serveur 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. Vous devez créer l'application comme un solution de batterie de serveurs.You must build the application as a farm solution. Vous ne pouvez pas utiliser PowerPoint Automation Services à partir d'un solution bac à sable.You cannot use PowerPoint Automation Services from a sandboxed solution.

Pour générer l’applicationTo build the application

  1. Démarrez Microsoft Visual Studio 2012.Start Microsoft Visual Studio 2012.

  2. Dans le menu fichier, pointez sur Nouveau, puis cliquez sur projet.On the File menu, point to New, and then choose Project.

  3. Dans la boîte de dialogue Nouveau projet, sous installé, développez modèles, développez Visual c#, puis choisissez Windows.In the New Project dialog box, under Installed, expand Templates, expand Visual C#, and then chose Windows.

  4. Dans la liste des modèles de projet, choisissez Application Console.In the list of project templates, choose Console Application.

  5. N'oubliez pas que le projet dans Visual Studio cible .NET Framework 4.Be sure that the project in Visual Studio targets .NET Framework 4.

    Notes

    [!REMARQUE] Les versions précédentes du SharePoint Server nécessitaient que vous ciblez .NET Framework 3.5. Désormais, les bibliothèques Microsoft.SharePoint référencent des assemblys dans .NET Framework 4. Assurez-vous également que votre projet cible le total .NET Framework 4 et non le .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. Dans la zone nom, tapez le nom que vous souhaitez utiliser pour votre projet, par exemple PAS_Sample.In the Name box, type the name that you want to use for your project, such as PAS_Sample.

  7. Dans la zone Emplacement, entrez l'emplacement où vous souhaitez placer le projet.In the Location box, type the location where you want to place the project.

  8. Cliquez sur OK pour créer la solution.Click OK to create the solution.

  9. Par défaut, Visual Studio 2012 crée des projets que processeurs x 86 cible, mais pour créer des applications SharePoint Server, vous devez cibler n'importe quelle UC.By default, Visual Studio 2012 creates projects that target x86 CPUs, but to build SharePoint Server applications, you must target any CPU.

    Si vous générez une application Microsoft Visual c#, dans L'Explorateur de solutions, droit sur le projet, puis cliquez sur Propriétés.If you are building a Microsoft Visual C# application, in Solution Explorer, right-click the project, and then click Properties.

  • Dans la fenêtre Propriétés du projet, cliquez sur Générer.In the project Properties window, click Build.

  • Pointez sur la liste de Configuration et sélectionnez Toutes les Configurations.Point to the Configuration list, and select All Configurations.

  • Pointez sur la liste Plateforme cible, puis sélectionnez Any CPU.Point to the Platform Target list, and select Any CPU.

    Si vous générez une Microsoft Visual Basic application .NET Framework, dans la fenêtre Propriétés, cliquez sur compiler.If you are building a Microsoft Visual Basic .NET Framework application, in the Properties window, click Compile.

  • Cliquez sur Options avancées de compilation.Click Advanced Compile Options.

  • Pointez sur la liste de Configuration et sélectionnez Toutes les Configurations.Point to the Configuration list, and then select All Configurations.

  • Pointez sur la liste Plateforme cible, puis cliquez sur Any CPU.Point to the Platform Target list, and then click Any CPU.

  1. Dans le menu Projet, cliquez sur Ajouter la référence pour ouvrir la boîte de dialogue Ajouter la référence.On the Project menu, click Add Reference to open the Add Reference dialog box.

  2. Développez des assemblys et puis procédez comme suit :Expand Assemblies, and then do the following:

  • Développez Framework et ajoutez une référence à System.Web.Expand Framework, and then add a reference to System.Web.

  • Développer des Extensions et ajoutez une référence à Microsoft.SharePoint.Expand Extensions, and then add a reference to Microsoft.SharePoint.

  1. Également dans la boîte de dialogue Ajouter une référence, choisissez Parcourir, naviguez jusqu'à l'emplacement de la Microsoft.Office.Server.PowerPoint.dll (emplacement par défaut est C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Office.Server.PowerPoint\v4.0_15.0.0.0__71e9bce111e9429c), sélectionnez l'assembly, puis choisissez Ajouter.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.

Les exemples de code c# et Visual Basic suivants montrent une application simple PowerPoint Automation Services qui convertit un PowerPoint fichier 97-2003 (.ppt) dans le dossier Documents partagés d'un site SharePoint vers un fichier de format Open XML (.pptx) PowerPoint dans le même dossier.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

Pour générer et exécuter l’exempleTo build and run the example

  1. Ajouter un document PowerPoint nommé Pres1.ppt dans le dossier Documents partagés du site SharePoint.Add a PowerPoint document named Pres1.ppt to the Shared Documents folder in the SharePoint site.

  2. Générez et exécutez l'exemple.Build and run the example.

  3. Après avoir attendu pour exécuter le processus de conversion d'une minute, accédez au dossier Documents partagés du site SharePoint et actualiser la page. La bibliothèque de documents contient désormais un nouveau document 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 sur SharePoint offre aux entreprises des fonctionnalités avancées pour la gestion de leurs fichiers de présentation.PowerPoint Automation Services on SharePoint provides businesses with advanced capabilities for managing their presentation files. Cette solution hautes performances autorise la manipulation de présentation évolutive, côté serveur et de génération, en tant que traitement par lots ou à la demande.This high-performance solution allows scalable, server-side presentation manipulation and generation, as a batch or on-demand.

Notes

Avant d'exécuter l'exemple, assurez-vous que les services d'automatisation de PowerPoint ont été activés dans la console Administration centrale de SharePoint.Before you run the example, make sure that PowerPoint Automation Services has been enabled in the SharePoint Central Administration console.
Pour vérifier que PowerPoint Automation Services est activé, procédez comme suit:To verify that PowerPoint Automation Services is enabled, do the following:

  • Dans la console Administration centrale, sous paramètres système, sélectionnez gérer les services sur le serveur, puis assurez-vous que le service de conversion PowerPoint est défini sur démarré.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.
  • Également dans la console Administration centrale, sous gestion des applications, choisissez gérer les applications de service, puis assurez-vous que l'application de service de conversion PowerPoint et le service de conversion PowerPoint. Le proxy d'application est défini sur démarré.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.

ConclusionConclusion

PowerPoint Automation Services sur SharePoint offre aux entreprises des fonctionnalités avancées pour la gestion de leurs fichiers de présentation.PowerPoint Automation Services on SharePoint provides businesses with advanced capabilities for managing their presentation files. Cette solution hautes performances autorise la manipulation de présentation évolutive, côté serveur et de génération, en tant que traitement par lots ou à la demande.This high-performance solution allows scalable, server-side presentation manipulation and generation, as a batch or on-demand.

Voir aussiSee also