Freigeben über


Konvertieren von Word-Dokumenten in PDF mithilfe von SharePoint Server 2010 und Word Automation Services (maschinell übersetzt)

Wichtig

Dieser Artikel wurde maschinell übersetzt. Bitte beachten Sie den Haftungsausschluss. Die englische Version des Artikels ist als Referenz hier verfügbar: here.

Office Visual - gewusst wie

Zusammenfassung:   Lernen Sie, wie Sie auf dem Server Word-Dokumente mithilfe von Word-Automatisierungsdienste mit SharePoint Server 2010 programmgesteuert in das PDF-Format konvertieren können.

Letzte Änderung: Mittwoch, 12. September 2012

Gilt für: Business Connectivity Services | Office 2010 | SharePoint Foundation 2010 | SharePoint Server 2010 | Word 2010

Veröffentlicht:   Januar 2010

Zur Verfügung gestellt von:   Michael Case, iSoftStone

Übersicht

SharePoint 2010Word-Automatisierungsdienste mit SharePoint Server 2010 verfügbaren unterstützt Konvertieren von Word-Dokumente in andere Formate. Dies schließt die PDF-Datei. Dieser Artikel beschreibt, verwenden ein Dokument Bibliothek Liste Element Ereignisempfänger aufrufen, Word-Automatisierungsdienste, Word-Dokumente in PDF konvertieren, wenn sie zur Liste hinzugefügt werden. Das Ereignis Empfänger überprüft, ob das Element der Liste hinzugefügt, ist ein Dokument, Word. Wenn dies der Fall ist, erstellt einen Konvertierungsauftrag, erstellen Sie eine PDF-Version des Dokuments Word und schiebt den Konvertierungsauftrag für die der Einzelvorgangswarteschlange der Word-Automatisierungsdienste-Konvertierung.

Code schreiben

Dieser Artikel beschreibt die folgenden Schritte zeigen, wie die Word-Automatisierungsdienste zum Konvertieren eines Dokuments aufrufen:

  1. Erstellen einer SharePoint 2010-Listendefinitionsanwendung in Visual Studio 2010.

  2. Hinzufügen eines Verweises auf die Microsoft.Office.Word.Server-Assembly.

  3. Hinzufügen eines Ereignisempfängers

  4. Den Beispielcode hinzufügen die Projektmappe.

Erstellen einer SharePoint 2010 Liste Definition Anwendung in Visual Studio 2010

In diesem Artikel verwendet eine SharePoint 2010 Liste Definition-Anwendung für den Beispielcode.

So erstellen eine SharePoint 2010 Liste Definition-Anwendung im Jahr 2010 Visual Studio

  1. Starten Sie Microsoft Visual Studio 2010 als Administrator.

  2. Im Menü Datei zeigen Sie im Menü Projekt , und klicken Sie dann auf Neu.

  3. Wählen Sie im Dialogfeld Neues Projektden Visual C# SharePoint 2010 Vorlagentyp im Project-Vorlagen.

  4. Wählen Sie im Bereich VorlagenListendefinition .

  5. Benennen Sie das Projekt und die Projektmappe ConvertWordToPDF.

    Abbildung 1. Erstellen der Lösung


    Erstellen der Lösung

  6. Klicken Sie auf " OK", um die Projektmappe zu erstellen.

  7. Wählen Sie eine Website für debugging und Bereitstellung verwenden.

  8. Wählen Sie die Site für das Debuggen und die Vertrauensstufe für die SharePoint-Lösung verwenden.

    > [!NOTE] > Stellen Sie sicher, dass die Vertrauensebene Als Farmlösung bereitstellen. Wenn Sie als ein Lösung mit eingeschränkter Sicherheitsstufe bereitstellen, funktioniert es nicht da die Lösung die Microsoft.Office.Word.Server-Assembly verwendet. Diese Assembly lässt sich nicht für Aufrufe von teilweise vertrauenswürdigen Aufrufern.
    Abbildung 2. Die Vertrauensebene auswählen


    Erstellen der Lösung

  9. Erstellen der Lösung abgeschlossen haben, klicken Sie auf Fertig stellen.

Hinzufügen eines Verweises auf die Microsoft Office-Word-Assembly

Um Word-Automatisierungsdienste zu verwenden, müssen Sie einen Verweis auf die Microsoft.Office.Word.Server der Projektmappe hinzufügen.

Hinzufügen ein Verweises auf die Microsoft Office Word-Server-Assembly

  1. In Visual Studio im Menü Projekt wählen Sie Verweis hinzufügen.

  2. Suchen Sie nach die Assembly. Verwenden Sie die Registerkarte Durchsuchen, suchen Sie die Assembly. Microsoft.Office.Word.Server-Assembly befindet sich im Ordner ISAPI-SharePoint 2010. Diese befindet sich normalerweise in C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI. Nachdem die Assembly befindet, klicken Sie auf OK , um den Verweis hinzufügen.

    Abbildung 3. Hinzufügen des Verweises


    Hinzufügen des Verweises

Hinzufügen eines Ereignisempfängers

In diesem Artikel verwendet einen Ereignisempfänger, der die Assembly Microsoft.Office.Word.Server Dokument Konvertierung Arbeitsplätze zu schaffen und Hinzufügen der Word-Automatisierungsdienste Konvertierung Projektwarteschlange verwendet.

Um einen Ereignisempfänger hinzufügen

  1. Klicken Sie im Visual Studio, klicken Sie im Menü Projekt auf Neues Element hinzufügen.

  2. Klicken Sie im Dialogfeld Neues Element hinzufügenim Bereich Projektvorlagen auf Visual C#-SharePoint 2010-Vorlage.

  3. Klicken Sie im Bereich Vorlagen auf Ereignisempfänger.

  4. Name den Ereignisempfänger ConvertWordToPDFEventReceiver , und klicken Sie dann auf Hinzufügen.

    Abbildung 4. Hinzufügen eines Ereignisempfängers


    Hinzufügen eines Ereignisempfängers

  5. Der Ereignisempfänger konvertiert Word Dokumente, nachdem sie der Liste hinzugefügt werden. Wählen Sie das Element Ein Element wurde hinzugefügt. , aus der Liste der Ereignisse, die verarbeitet werden können.

    Abbildung 5. Wählen Ereignis Receiver-Einstellungen


    Auswählen von Ereignisempfängereinstellungen

  6. Klicken Sie auf Fertig stellen , um den Ereignisempfänger zum Projekt hinzufügen.

Den Beispielcode hinzufügen zur Projektmappe

Ersetzen Sie den Inhalt der Quelldatei ConvertWordToPDFEventReceiver.cs, mit dem folgenden Code.

using System;
using System.Security.Permissions;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Security;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.Workflow;

using Microsoft.Office.Word.Server.Conversions;

namespace ConvertWordToPDF.ConvertWordToPDFEventReceiver
{
  /// <summary>
  /// List Item Events
  /// </summary>
  public class ConvertWordToPDFEventReceiver : SPItemEventReceiver
  {
    /// <summary>
    /// An item was added.
    /// </summary>
    public override void ItemAdded(SPItemEventProperties properties)
    {
      base.ItemAdded(properties);

      // Verify the document added is a Word document
      // before starting the conversion.
      if (properties.ListItem.Name.Contains(".docx") 
        || properties.ListItem.Name.Contains(".doc"))
      {
        //Variables used by the sample code.
        ConversionJobSettings jobSettings;
        ConversionJob pdfConversion;
        string wordFile;
        string pdfFile;

        // Initialize the conversion settings.
        jobSettings = new ConversionJobSettings();
        jobSettings.OutputFormat = SaveFormat.PDF;

        // Create the conversion job using the settings.
        pdfConversion = 
          new ConversionJob("Word Automation Services", jobSettings);

        // Set the credentials to use when running the conversion job.
        pdfConversion.UserToken = properties.Web.CurrentUser.UserToken;

        // Set the file names to use for the source Word document
        // and the destination PDF document.
        wordFile = properties.WebUrl + "/" + properties.ListItem.Url;
        if (properties.ListItem.Name.Contains(".docx"))
        {
          pdfFile = wordFile.Replace(".docx", ".pdf");
        }
        else
        {
          pdfFile = wordFile.Replace(".doc", ".pdf");
        }

        // Add the file conversion to the conversion job.
        pdfConversion.AddFile(wordFile, pdfFile);

        // Add the conversion job to the Word Automation Services 
        // conversion job queue. The conversion does not occur
        // immediately but is processed during the next run of
        // the document conversion job.
        pdfConversion.Start();

      }
    }
  }
}

Lesen

mit SharePoint Server 2010 bereitgestellten Word-Automatisierungsdienste können Sie Document-Server-basierte Lösungen erstellen. Kombiniert die Funktionalität, die durch Word-Automatisierungsdienste bereitgestellt wird, mit dem Dokumentinhalt Manipulation-Unterstützung mit Open XML-SDK können Sie rich dokumentieren Lösungen, die auf dem Server ausführen zu erstellen, die Automatisierung der Word-Client-Anwendung nicht benötigen.

Beispiele für die Arten von Word-Automatisierungsdienste unterstützten Operationen sind wie folgt:

  • Konvertieren von Dokumentformaten (z. B. DOC, DOCX)

  • Konvertieren in festen Formaten (z. B. PDF oder XPS)

  • Aktualisieren von Feldern

  • Importieren von "alternatives Format Chunks"

Dieser Artikel enthält Beispielcode, der zeigt, wie einen Ereignishandler für SharePoint-Liste erstellen, der als Reaktion auf Word Dokumente, die der Liste hinzugefügt Word-Automatisierungsdienste Konvertierung Aufträge erstellen können. Dieser Abschnitt verwendet die Codebeispiele aus vollständiges, funktionsfähiges Beispielcode in diesem Artikel Ansatz wird in diesem Artikel beschreiben.

Der ItemAdded(SPItemEventProperties)-Ereignishandler in der Liste Ereignis-Handler wird zunächst überprüft, ob das Dokument Bibliotheksliste hinzugefügte Element ein Word Dokument ist, indem Sie den Namen des Dokuments für die Dateinamenerweiterung .doc oder .docx.

// Verify the document added is a Word document
// before starting the conversion.
if (properties.ListItem.Name.Contains(".docx") 
    || properties.ListItem.Name.Contains(".doc"))
{

Wenn das Element ein Word Dokument wird dann im Code erstellt und initialisiert ConversionJobSettings und ConversionJob-Objekte, um das Dokument in das PDF-Format konvertieren.

//Variables used by the sample code.
ConversionJobSettings jobSettings;
ConversionJob pdfConversion;
string wordFile;
string pdfFile;

// Initialize the conversion settings.
jobSettings = new ConversionJobSettings();
jobSettings.OutputFormat = SaveFormat.PDF;

// Create the conversion job using the settings.
pdfConversion = 
  new ConversionJob("Word Automation Services", jobSettings);

// Set the credentials to use when running the conversion job.
pdfConversion.UserToken = properties.Web.CurrentUser.UserToken;

Die ConversionJob werden die Word-Dokument konvertiert werden und den Namen des PDF-Dokuments erstellt werden hinzugefügt.

// Set the file names to use for the source Word document
// and the destination PDF document.
wordFile = properties.WebUrl + "/" + properties.ListItem.Url;
if (properties.ListItem.Name.Contains(".docx"))
{
  pdfFile = wordFile.Replace(".docx", ".pdf");
}
else
{
  pdfFile = wordFile.Replace(".doc", ".pdf");
}

// Add the file conversion to the Conversion Job.
pdfConversion.AddFile(wordFile, pdfFile);

Schließlich wird die ConversionJob der Word-Automatisierungsdienste Konvertierung Projektwarteschlange hinzugefügt.

// Add the conversion job to the Word Automation Services 
// conversion job queue. The conversion does not occur
// immediately but is processed during the next run of
// the document conversion job.
pdfConversion.Start();

Anzeigen

Video ansehen

Das Video

Video-Länge: 06: 15 | Dateigröße: 7,5 MB | Typ: WMV

Klicken Sie hier, um den Code abzurufen

Ergreifen Sie den Code

Erforschen

 

Hinweis

Haftungsausschluss für maschinelle Übersetzungen: Dieser Artikel wurde mithilfe eines Computersystems und ohne jegliche Bearbeitung durch Personen übersetzt. Microsoft bietet solche maschinellen Übersetzungen als Hilfestellung für Benutzer ohne Englischkenntnisse an, damit Sie von den Informationen zu Produkten, Diensten und Technologien von Microsoft profitieren können. Da es sich bei diesem Artikel um eine maschinelle Übersetzung handelt, enthält er möglicherweise Fehler in Bezug auf (Fach-)Terminologie, Syntax und/oder Grammatik.