Word to PDF Conversion Automation

Serving as a virtual printer, Universal Document Converter will be able to save your documents as PDF, TIFF, JPEG, or PNG files.

Software developers can use the COM-interface and Microsoft Word as COM-server for converting Word to PDF.

Word document conversion source code examples:

Visual Basic.NET

VB.NET Word to PDF conversion code example:

'-----------------------------------------------------------------
' 1) Microsoft Word version 97 or higher should be installed
'    and activated on your PC.
'
' 2) Universal Document Converter 5.2 or higher should be installed as well
'
' 3) Open your project in Microsoft Visual Basic.NET
'
' 4) In Visual Basic main menu press Project->Add Reference...
'
' 5) In Add Reference window go to COM tab and double click
'    into Universal Document Converter Type Library.
'-----------------------------------------------------------------

Private Sub PrintWordToPDF(ByVal strFilePath As String)

  Dim objUDC As UDC.IUDC
  Dim itfPrinter As UDC.IUDCPrinter
  Dim itfProfile As UDC.IProfile

  Dim WordApp As Object
  Dim WordDoc As Object

  objUDC = New UDC.APIWrapper
  itfPrinter = objUDC.Printers("Universal Document Converter")
  itfProfile = itfPrinter.Profile

' Use Universal Document Converter API to change settings of converterd document
  itfProfile.PageSetup.ResolutionX = 600
  itfProfile.PageSetup.ResolutionY = 600

  itfProfile.FileFormat.ActualFormat = UDC.FormatID.FMT_PDF

  itfProfile.FileFormat.PDF.Multipage = UDC.MultipageModeID.MM_MULTI

  itfProfile.OutputLocation.Mode = UDC.LocationModeID.LM_PREDEFINED
  itfProfile.OutputLocation.FolderPath = "C:\Out"
  itfProfile.OutputLocation.FileName = "&[DocName(0)].&[ImageType]"
  itfProfile.OutputLocation.OverwriteExistingFile = False

' Run Microsoft Word as COM-server
  WordApp = CreateObject("Word.Application")

' Open document from file
  WordDoc = WordApp.Documents.Open(strFilePath, , 1)

' Print all pages of the document
  WordApp.ActivePrinter = "Universal Document Converter"
  Call WordApp.PrintOut(False)

' Close the document
  Call WordDoc.Close()
  WordDoc = Nothing

' Close Microsoft Word
  Call WordApp.Quit()
  WordApp = Nothing

End Sub

Visual Basic 6

VB Word to PDF conversion code example:

'-----------------------------------------------------------------
' 1) Microsoft Word 97 or higher should be installed and activated on your PC
'
' 2) Universal Document Converter 5.2 or higher should be installed as well
'
' 3) Open your project in Microsoft Visual Basic 6.0
'
' 4) In Visual Basic main menu press Project->References
'
' 5) In the list of references check
'    Universal Document Converter Type Library.
'-----------------------------------------------------------------

Private Sub PrintWordToPDF(strFilePath As String)

  Dim objUDC As IUDC
  Dim itfPrinter As IUDCPrinter
  Dim itfProfile As IProfile
 
  Dim WordApp As Object
  Dim WordDoc As Object

  Set objUDC = New UDC.APIWrapper
  Set itfPrinter = objUDC.Printers("Universal Document Converter")
  Set itfProfile = itfPrinter.Profile

' Use Universal Document Converter API to change settings of converterd document
  itfProfile.PageSetup.ResolutionX = 600
  itfProfile.PageSetup.ResolutionY = 600
 
  itfProfile.FileFormat.ActualFormat = FMT_PDF
 
  itfProfile.FileFormat.PDF.Multipage = MM_MULTI
 
  itfProfile.OutputLocation.Mode = LM_PREDEFINED
  itfProfile.OutputLocation.FolderPath = "C:\Out"
  itfProfile.OutputLocation.FileName = "&[DocName(0)].&[ImageType]"
  itfProfile.OutputLocation.OverwriteExistingFile = False
 
' Run Microsoft Word as COM-server
  On Error Resume Next
  Set WordApp = CreateObject("Word.Application")

' Open document from file
  Err = 0 ' Clear GetLastError() value
  Set WordDoc = WordApp.Documents.Open(strFilePath, , 1)

  If Err = 0 Then

  ' Print all pages of the document
    WordApp.ActivePrinter = "Universal Document Converter"
    Call WordApp.PrintOut(False)

  ' Close the document
    Call WordDoc.Close
    Set WordDoc = Nothing

  End If

' Close Microsoft Word
  Call WordApp.Quit
  Set WordApp = Nothing

End Sub

Visual C++

C++ Word to PDF conversion code example:

//////////////////////////////////////////////////////////////////
// This example was designed to be used in Microsoft Visual C++  
// from Microsoft Visual Studio 2003 or higher.
//
// 1. Microsoft Word 97 or higher should be installed 
// and activated on your PC.
//
// 2. Universal Document Converter 5.2 or higher should be
// installed as well.
//
// 3. You must initialize the COM before you call any COM method.
// Please insert ::CoInitialize(0); in your application
// initialization and ::CoUninitialize(); before closing it.
//
// 4. Import Office libraries for 32-bit version of Windows.
// For 64-bit version please change C:\\Program Files\\ to
// C:\\Program Files (x86)\\ in all pathes.

#pragma message("Import MSO.DLL")
// MS Office 2000 ->
// C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE10\\MSO.DLL
//
// MS Office 2003 ->
// C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE11\\MSO.DLL
//
// MS Office 2007 ->
// C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE12\\MSO.DLL
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE12\\MSO.DLL" \
	rename_namespace("MSO"), auto_rename

#pragma message("Import VBE6EXT.OLB")
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB" \
    rename_namespace("VBE6EXT")

#pragma message("Import MS Word API")
// MS Office 2000 -> "C:\\Program Files\\Microsoft Office\\OFFICE\\MSWORD9.OLB"
// MS Office 2003 -> "C:\\Program Files\\Microsoft Office\\OFFICE11\\MSWORD.OLB"
// MS Office 2007 -> "C:\\Program Files\\Microsoft Office\\OFFICE12\\MSWORD.OLB"
#import "C:\\Program Files\\Microsoft Office\\OFFICE12\\MSWORD.OLB" \
	rename_namespace("MSWORD"), auto_rename

// 5. Import Universal Document Converter software API:
#import "progid:udc.apiwrapper" rename_namespace("UDC")
//////////////////////////////////////////////////////////////////

static COleVariant vTrue( (short)TRUE ), vFalse( (short)FALSE );
static COleVariant vOpt( (long)DISP_E_PARAMNOTFOUND, VT_ERROR );

void PrintWordToPDF(CString szFilePath)
{
  UDC::IUDCPtr pUDC(__uuidof(UDC::APIWrapper));
  UDC::IUDCPrinterPtr itfPrinter = pUDC->Printers["Universal Document Converter"];
  UDC::IProfilePtr itfProfile = itfPrinter->Profile;

// Use Universal Document Converter API to change settings of converterd document
  itfProfile->PageSetup->ResolutionX = 600;
  itfProfile->PageSetup->ResolutionY = 600;
 
  itfProfile->FileFormat->ActualFormat = UDC::FMT_PDF;
 
  itfProfile->FileFormat->PDF->Multipage = UDC::MM_MULTI;
 
  itfProfile->OutputLocation->Mode = UDC::LM_PREDEFINED;
  itfProfile->OutputLocation->FolderPath = L"C:\\Out";
  itfProfile->OutputLocation->FileName = L"&[DocName(0)].&[ImageType]";
  itfProfile->OutputLocation->OverwriteExistingFile = FALSE;

  itfProfile->PostProcessing->Mode = UDC::PP_OPEN_FOLDER;

// Run Microsoft Word as COM-server
  MSWORD::_ApplicationPtr itfWordApp(L"Word.Application");
  MSWORD::_DocumentPtr itfWordDoc;

// Open the document from a file
  itfWordDoc = itfWordApp->Documents->Open( COleVariant( szFilePath ) );
  
// Print all pages of the document
  itfWordApp->ActivePrinter = L"Universal Document Converter";
  itfWordApp->PrintOut( vFalse );

// Close the document and Microsoft Word application
  itfWordDoc->Close( vFalse );
  itfWordApp->Quit( vFalse, vFalse, vFalse );
}

Visual C#

C# Word to PDF conversion code example:

////////////////////////////////////////////////////////////////// // This example was designed to be used in Microsoft Visual C# from // Microsoft Visual Studio 2003 or higher. // // 1. Microsoft Word 97 or higher should be installed and activated on your PC. // // 2. Universal Document Converter 5.2 or higher should be installed as well. // // 3. Add references to Microsoft Word XX.0 Object Library and // Universal Document Converter Type Library using the // Project | Add Reference menu > COM tab. XX is the // Microsoft Office version installed on your computer. // // 4. Notice that the number of Microsoft Word's method parameters may depend on // the Office version. ////////////////////////////////////////////////////////////////// using System; using System.IO; using Word = Microsoft.Office.Interop.Word; //using Word; in VS2003 using UDC; namespace WordToPDF { class Program { static void PrintWordToPDF(string WordDocFilePath) { //Create a UDC object and get its interfaces IUDC objUDC = new APIWrapper(); IUDCPrinter Printer = objUDC.get_Printers("Universal Document Converter"); IProfile Profile = Printer.Profile; //Use Universal Document Converter API to change settings of //convertered document Profile.PageSetup.ResolutionX = 600; Profile.PageSetup.ResolutionY = 600; Profile.FileFormat.ActualFormat = FormatID.FMT_PDF; Profile.FileFormat.PDF.Multipage = MultipageModeID.MM_MULTI; Profile.OutputLocation.Mode = LocationModeID.LM_PREDEFINED; Profile.OutputLocation.FolderPath = @"c:\UDC Output Files"; Profile.OutputLocation.FileName = @"&[DocName(0)].&[ImageType]"; Profile.OutputLocation.OverwriteExistingFile = false; //Create a Word's Application object Word.Application WordApp = new Word.Application(); Object FilePath = WordDocFilePath; Object ReadOnly = true; //This will be passed when ever we don't want to pass value: Object Missing = Type.Missing; //Open document from file Word.Document WordDoc = WordApp.Documents.Open(ref FilePath, ref Missing, ref ReadOnly, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing); //Print all pages of the document Object Background = false; WordApp.ActivePrinter = "Universal Document Converter"; WordApp.PrintOut(ref Background, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing); //Close the document Object SaveChanges = false; WordDoc.Close(ref SaveChanges, ref Missing, ref Missing); //Quit the word application WordApp.Quit(ref Missing, ref Missing, ref Missing); } static void Main(string[] args) { string TestFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestFile.doc"); PrintWordToPDF(TestFilePath); } } }

Delphi

Delphi Word to PDF conversion code example:

////////////////////////////////////////////////////////////////// // This example was designed to be used in Delphi 7 or higher. // // 1. Microsoft Word 97 or higher should be installed and activated on your PC. // // 2. Universal Document Converter 5.2 or higher should be installed as well. // // 3. Add Universal Document Converter Type Library and // Microsoft Word XX.0 Object Library type libraries to the project. // XX is the Microsoft Office version installed on your computer. // // Delphi 7: // Use the Project | Import Type Library menu. // // Delphi 2006 or latter: // Use the Component | Import Component menu. // // Clear the Generate Component Wrapper checkbox and click the Create Unit // button (Delphi 7) or select the Create Unit option (Delphi 2006 or latter). // // 4. Notice that the number of Microsoft Word's method parameters may depend on // the Office version. // ////////////////////////////////////////////////////////////////// program WordToPDF; {$APPTYPE CONSOLE} {$DEFINE LATE_BINDING} uses SysUtils, Variants, Dialogs, ActiveX, Windows, Word_TLB, UDC_TLB; procedure PrintWordToPDF(WordDocFilePath: string); var objUDC: IUDC; Printer: IUDCPrinter; Profile: IProfile; WordApp: WordApplication; WordDoc: WordDocument; FilePath: OleVariant; ReadOnly: OleVariant; Missing: OleVariant; Background: OleVariant; SaveChanges: OleVariant; begin //Create a UDC object and get its interfaces objUDC := CoAPIWrapper.Create; Printer := objUDC.get_Printers('Universal Document Converter'); Profile := Printer.Profile; //Use Universal Document Converter API to change settings of convertered document Profile.PageSetup.ResolutionX := 600; Profile.PageSetup.ResolutionY := 600; Profile.FileFormat.ActualFormat := FMT_PDF; Profile.FileFormat.PDF.Multipage := MM_MULTI; Profile.OutputLocation.Mode := LM_PREDEFINED; Profile.OutputLocation.FolderPath := 'c:\UDC Output Files'; Profile.OutputLocation.FileName := '&[DocName(0)].&[ImageType]'; Profile.OutputLocation.OverwriteExistingFile := False; //Create a Word's Application object WordApp := CoWordApplication.Create; FilePath := WordDocFilePath; ReadOnly := True; //This will be passed when ever we don’t want to pass value: Missing := Variants.EmptyParam; //Open document from file {$IFDEF LATE_BINDING} WordDoc := IDispatch(OleVariant(WordApp).Documents.Open(FileName := FilePath, ReadOnly := ReadOnly)) as WordDocument; {$ELSE} WordDoc := WordApp.Documents.Open(FilePath, Missing, ReadOnly, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing); {$ENDIF} //Print all pages of the document Background := False; WordApp.ActivePrinter := 'Universal Document Converter'; {$IFDEF LATE_BINDING} OleVariant(WordApp).PrintOut(Background := False); {$ELSE} WordApp.PrintOut(Background, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing); {$ENDIF} //Close the document SaveChanges := False; {$IFDEF LATE_BINDING} OleVariant(WordDoc).Close(SaveChanges := SaveChanges); {$ELSE} WordDoc.Close(SaveChanges, Missing, Missing); {$ENDIF} //Quit the word application {$IFDEF LATE_BINDING} OleVariant(WordApp).Quit; {$ELSE} WordApp.Quit(Missing, Missing, Missing); {$ENDIF} end; var TestFilePath: string; begin TestFilePath := ExtractFilePath(ParamStr(0)) + 'TestFile.doc'; try CoInitialize(nil); try PrintWordToPDF(TestFilePath); finally CoUninitialize; end; except on E: Exception do MessageDlg(E.ClassName + ' : ' + E.Message, mtError, [mbOK], 0); end; end.

PHP

PHP Word to PDF converter code example:

'----------------------------------------------------------------------
' 1) Microsoft Word 97 or above should be installed and activated on your PC.
'
' 2) Universal Document Converter 5.2 or above should also be installed.
'
' 3) Apache WEB server and PHP 4.0 or above should be installed and adjusted.
'----------------------------------------------------------------------

 <?PHP 	
  //Create Universal Document Converter object 
	
  $objUDC = new COM("UDC.APIWrapper");
	
  //Set up Universal Document Converter 
		
  $itfPrinter = $objUDC->Printers("Universal Document Converter");
		
  $itfProfile = $itfPrinter->Profile;
		
  $itfProfile->PageSetup->ResolutionX = 300;
  $itfProfile->PageSetup->ResolutionY = 300;
  $itfProfile->PageSetup->Orientation = 0;
	
  $itfProfile->FileFormat->ActualFormat = 7; //PDF 
  $itfProfile->FileFormat->PDF->Multipage = 2; //Multipage mode
	
  $itfProfile->OutputLocation->Mode = 1;
  $itfProfile->OutputLocation->FolderPath = '&[Documents]\UDC Output Files\\';
  $itfProfile->OutputLocation->FileName = '&[DocName(0)].&[ImageType]';
  $itfProfile->OutputLocation->OverwriteExistingFile = 1;
		
  $itfProfile->PostProcessing->Mode = 0;
			
  //Create MS Word object
	
  $file = 'my_document.doc';
	
  $WordApp = new COM("Word.Application");
	
  //Print the document 
	
  $WordDoc = $WordApp->Documents->Open($file,0,1);
  $WordApp->ActivePrinter = "Universal Document Converter";
  $WordApp->PrintOut(False);
	
  //Close the document and MS Word
	
  $WordDoc->Close();
  $WordApp->Quit();
	
  echo "READY!";	
 ?> 
Save Word as PDF

  • Arthur Rabatscher

    Arthur Rabatscher

    AR-Soft Widnau GmbH, Switzerland

    «On a Delphi-Developer-Homepage we found an example how to convert Word- or Excel Documents into PDF. Within this source code the use of the OCX of the Universal Document Converter was shown. This was the easiest way, how we could convert all kinds of documents into the PDF Format.»