How to convert docx to pdf document in SharePoint 2010 using Word Automation Services: Part 2



In this article we will be seeing how to convert .docx document to pdf document in SharePoint 2010.

Word Automation Services is a new feature available in SharePoint 2010. It supports converting Word documents to other formats. Here we are going to convert the word document into pdf document. In the API for Word Automation Services there are different ways to convert documents including AddFile(), AddFolder() and AddLibrary() methods. Here we will be using AddLibrary() method to convert the word document. You need to specify two list inputList (where the word documents are present) and the outputList (where the converted pdf files should be created).

This article describes the following steps to show how to call the Word Automation Services to convert a document:

  • Add a word document to the SharePoint Shared Documents.
  • Create a console Application.
  • Add a reference to the Microsoft.Office.Word.Server assembly.

Add a word document in the Shared Documents:
share1.gif

Create a console application:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Word.Server.Conversions;
using Microsoft.SharePoint;

namespace Test
{
    static class Program
    {
        static void Main(string[] args)
        {                 
            using (SPSite spSite = new SPSite( "http://servername:4040/"))
            {
                using(SPWeb web=spSite.OpenWeb())
                {
                SPList inputList=web.Lists["Shared Documents"];
                SPList outputList=web.Lists["PDF Library"];
                //Defines a collection of settings for all conversions within a single conversion job.
                ConversionJobSettings jobSettings=new ConversionJobSettings();
                jobSettings.OutputFormat = SaveFormat.PDF;
                //Represents a collection of file conversions (of single files or entire libraries) that share a common set of conversion properties and are logically tracked as a single unit.
                ConversionJob pdfConversion = new ConversionJob("Word Automation Services", jobSettings);
                // Set the credentials to use when running the conversion job.
                pdfConversion.UserToken = spSite.UserToken;
                pdfConversion.AddLibrary(inputList,outputList);
                pdfConversion.Start();
                }
            }
        }
    }
}

  • Build the solution and hit F5.
  • Go to the "PDF Library", pdf files are successfully created.

    share2.gif