How to convert docx to pdf document in SharePoint 2010 using Word Automation Services - Part 1



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 AddFile() method to convert the word document (this method will convert the word document within the same list).

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:

1.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
{
    class Program
    {
        static void Main(string[] args)
        {                
            using (SPSite spSite = new SPSite( "http://servername:4040/"))
            {  

           //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.AddFile("http://servername:4040/Shared%20Documents/ExternalList.docx",
                    "http://servername:4040/Shared%20Documents/ExternalList.pdf");
                pdfConversion.Start();
            }
        }
    }

}

2.gif