ImageGear .NET - Updated
Microsoft Office Documents to PDF
User Guide > How to Work with... > Formats with Additional Functionality > PDF > How to... > Convert... > Microsoft Office Documents to PDF

ImageGear .NET provides the ability to convert any Microsoft Office Open XML and Microsoft Office 97-2003 document currently supported by the product or any page of a Microsoft Office Open XML or Microsoft Office 97-2003 document and save the converted content to a PDF file. This can be done by using one of the following API calls:

ImageGear .NET Office to PDF converter provides the conversion of all currently supported text elements, raster images, and graphic shapes for Microsoft Office Open XML and Microsoft Office 97-2003 formats described in Using ImageGear.Formats.Office Namespace.

Note the following conversions that take place when converting to PDF:

Word (DOCX/DOC) to PDF

This sample shows how to input a Word document in the DOCX/DOC format and output all pages as a PDF document.

After some initializations, load the necessary ImGear filters to create an instance of Microsoft Word format for input and an instance of PDF format for output using code that looks like:

 C#
Copy Code
ImGearFileFormats.Filters.Add(ImGearOffice.CreateWordFormat());
ImGearFileFormats.Filters.Add(ImGearPDF.CreatePDFFormat());
VB.NET
Copy Code
ImGearFileFormats.Filters.Add(ImGearOffice.CreateWordFormat())
ImGearFileFormats.Filters.Add(ImGearPDF.CreatePDFFormat())

Next, the PDF library requires its own initialization:

 C#
Copy Code
ImGearPDF.Initialize();
VB.NET
Copy Code
ImGearPDF.Initialize()

Then, simply read in all pages of the Word document using the ImGearFileFormats.LoadDocument() method:

 C#
Copy Code
ImGearDocument igDocument;
using (FileStream fileStream = new FileStream(inputFileName, FileMode.Open,
       FileAccess.Read, FileShare.Read))
{
   igDocument = ImGearFileFormats.LoadDocument(fileStream);
}
VB.NET
Copy Code
Dim igDocument As ImGearDocument
Using fileStream As New FileStream(inputFileName, FileMode.Open, FileAccess.Read, FileShare.Read)
    igDocument = ImGearFileFormats.LoadDocument(fileStream)
End Using

Finally, write out the document as PDF using the ImGearFileFormats.SaveDocument() method with the saving format set to ImGearSavingFormats.PDF and no special options:

 
Copy Code
using (FileStream fileStream = new FileStream(outputFileName, FileMode.Create,
       FileAccess.ReadWrite))
{
   ImGearFileFormats.SaveDocument(igDocument, fileStream, 0,
       ImGearSavingModes.OVERWRITE, ImGearSavingFormats.PDF, null);
}
VB.NET
Copy Code
Using fileStream As New FileStream(outputFileName, FileMode.Create, FileAccess.ReadWrite)
    ImGearFileFormats.SaveDocument(igDocument, fileStream, 0, ImGearSavingModes.OVERWRITE, ImGearSavingFormats.PDF, Nothing)
End Using

Excel (XLSX/XLS) to PDF

This sample can be easily adjusted to accept Excel Spreadsheet XLSX/XLS documents as input.

To accept XLSX/XLS files as input, create an instance of Microsoft Excel format after initializing ImageGear .NET:

 C#
Copy Code
ImGearFileFormats.Filters.Add(ImGearOffice.CreateExcelFormat());
VB.NET
Copy Code
ImGearFileFormats.Filters.Add(ImGearOffice.CreateExcelFormat())

and modify the sample's open file dialog to accept the *.xlsx/*.xls extensions:

C# 
Copy Code
ofd.Filter = @"DOCX files (*.docx)|*.docx|XLSX files (*.xlsx)|*.xlsx|XLS files (*.xls)|*.xls";
VB.NET
Copy Code
ofd.Filter = "DOCX files (*.docx)|*.docx|XLSX files (*.xlsx)|*.xlsx|XLS files (*.xls)|*.xls"

PowerPoint (PPTX/PPT) to PDF

This sample can be easily adjusted to accept PowerPoint PPTX/PPT files as input.

To accept PPTX files as input, create an instance of Microsoft PowerPoint format after initializing ImageGear .NET:

 C#
Copy Code
ImGearFileFormats.Filters.Add(ImGearOffice.CreatePowerPointFormat());
VB.NET
Copy Code
ImGearFileFormats.Filters.Add(ImGearOffice.CreatePowerPointFormat())

and modify the sample's open file dialog to accept the *.pptx extension:

C# 
Copy Code
ofd.Filter = @"DOCX files (*.docx)|*.docx|PPTX files (*.pptx)|*.pptx|PPT files (*.ppt)|*.ppt";
VB.NET
Copy Code
ofd.Filter = "DOCX files (*.docx)|*.docx|PPTX files (*.pptx)|*.pptx|PPT files (*.ppt)|*.ppt"