XDoc.PDF
Features
Tech Specs
How-to C#
How-to VB.NET
Pricing
C# PDF: How to PDF Create PDF Export File and Page Process PDF Read PDF Write Form Process Document Protect Annotation & Drawing PDF Print WPF Viewer & Editor Work with Other SDKs Barcode Read Barcode Create OCR Twain
Create PDF from Word
  |  
Home ›› XDoc.PDF ›› C# PDF: Create PDF from Word

HOW TO convert, make, turn Microsoft Office Word document to PDF file in C# using XDoc.PDF for .NET library API


C# Demo Code to Create PDF Document from Word in C# Program with .NET XDoc.PDF Component




Best Microsoft Office Word to adobe PDF file converter SDK for Visual Studio .NET


Support .NET WinForms, ASP.NET MVC in IIS, ASP.NET Ajax, Azure cloud service, DNN (DotNetNuke), SharePoint


A convenient C#.NET control able to turn all Word text and image content into high quality PDF without losing formatting


Convert multiple pages Word to fillable and editable PDF documents in both .NET WinForms and ASP.NET


Convert both DOC and DOCX formats to PDF files


Professional .NET control for batch conversion in C#.NET class


Easy to create searchable and scanned PDF files from Word


Convert to PDF with embedded fonts or without original fonts fast


Able to get word count in PDF pages


Change Word hyperlink to PDF hyperlink and bookmark


Free online Word to PDF converter without email


C# source code for integration in to .NET console application


Free C#.NET library and components for .NET framework




C#.NET Sample Code: Convert Word to PDF in C#.NET Project


Note: When you get the error "Could not load file or assembly 'RasterEdge.Imaging.Basic' or any other assembly or one of its dependencies. An attempt to load a program with an incorrect format", please check your configure as follows:

       

       If you are using x64 libraries/dlls, Right click the project -> Properties -> Build -> Platform target: x64.

       

       If using x86, the platform target should be x86.


Following is C# demo code for Word (.docx/.dotm/.docm/.dotx) to PDF conversion.



            String inputPath = @"C:\demo.docx";
            String outputPath = @"C:\output.pdf";
            //convert .docx to .pdf
            DOCXDocument doc = new DOCXDocument(inputPath);
            doc.ConvertToDocument(DocumentType.PDF, outputPath);



Following demo code will show how to convert Word2003(.doc) to PDF.



            String inputPath = @"C:\demo.doc";
            String outputPath = @"C:\output.pdf";
            //convert .doc to .pdf
            DOCDocument doc = new DOCDocument(inputPath);
            doc.ConvertToDocument(DocumentType.PDF, outputPath);




C# convert two or multiple Word files to PDF (batch convert)



Convert MS Office Word 2007 (.docx) file to PDF using single thread



            String inputDirectory = @"C:\input\";
            String outputDirectory = @"C:\output\";
            String[] files = Directory.GetFiles(inputDirectory, "*.docx");
            foreach (String filePath in files)
            {
                int startIdx = filePath.LastIndexOf("\\");
                int endIdx = filePath.LastIndexOf(".");
                String docName = filePath.Substring(startIdx + 1, endIdx - startIdx - 1);
                DOCXDocument doc = new DOCXDocument(filePath);
                doc.ConvertToDocument(DocumentType.PDF, outputDirectory + docName + ".pdf");
            }



Convert MS Office Word 2007 (.docx) file to PDF using multiple threads



        #region word to pdf (batch file and multiple threads)
        internal static void docxfiles2pdf()
        {
            String inputDirectory = @"C:\input\";
            String outputDirectory = @"C:\output\";
            String[] files = Directory.GetFiles(inputDirectory, "*.docx");
            List<ConversionArgs> args = new List<ConversionArgs>();
            foreach (String filePath in files)
            {
                int startIdx = filePath.LastIndexOf("\\");
                int endIdx = filePath.LastIndexOf(".");
                String docName = filePath.Substring(startIdx + 1, endIdx - startIdx - 1);
                ConversionArgs arg = new ConversionArgs(filePath, outputDirectory + docName + ".pdf");
                args.Add(arg);
            }

            List<Thread> threads = new List<Thread>();
            foreach (ConversionArgs arg in args)
            {
                Thread thread = new Thread(docxToPdfThread);
                thread.Start(arg);
            }
            foreach (Thread thread in threads)
            {
                thread.Join();
            }
        }

        private static void docxToPdfThread(object args)
        {
            ConversionArgs toPdfArgs = (ConversionArgs)args;
            DOCXDocument srcDoc = new DOCXDocument(toPdfArgs.SrcPath);
            if (srcDoc != null)
            {
                srcDoc.ConvertToDocument(DocumentType.PDF, toPdfArgs.DstPath);
                srcDoc.Dispose();
            }
        }
        #endregion




C# combine multiple Word files, and convert to PDF





        #region combine and convert word(2007 or higher) to single pdf
        internal static void combineAndConvertwordToPdf()
        {
            String[] files = new String[] { @"C:\demo1.docx", @"C:\demo2.docx", @"C:\demo3.docx" };
            String outputFilePath = @"C:\output.pdf";
            List<MemoryStream> streams = new List<MemoryStream>();
            foreach (String file in files)
            {
                MemoryStream outputStream = new MemoryStream();
                DOCXDocument doc = new DOCXDocument(file);
                doc.ConvertToDocument(DocumentType.PDF, outputStream);
                streams.Add(outputStream);
            }
            PDFDocument.CombineDocument(streams.ToArray(), outputFilePath);
        }
        #endregion




C# insert word file into pdf document, and create a new PDF file





        #region insert word(2007 or higher) to pdf
        internal static void insertwordToPdf()
        {
            String filePath = @"C:\demo.docx";
            DOCXDocument doc = new DOCXDocument(filePath);
            MemoryStream stream = new MemoryStream();
            doc.ConvertToDocument(DocumentType.PDF, stream);
            PDFDocument pdf = new PDFDocument(stream);
            int pageCount = pdf.GetPageCount();
            List<BasePage> pages = new List<BasePage>();
            for (int i = 0; i < pageCount; i++)
            {
                pages.Add(pdf.GetPage(i));
            }
            String outputPdf = @"C:\output.pdf";
            PDFDocument desDoc = new PDFDocument(outputPdf);
            int insertLocation = 2;
            desDoc.InsertPages(pages.ToArray(), insertLocation);
            desDoc.Save(@"C:\desDocumcnet.pdf");
        }
        #endregion




.NET Class Namespace Required



Add necessary references:


  RasterEdge.Imaging.Basic.dll


  RasterEdge.Imaging.Basic.Codec.dll


  RasterEdge.Imaging.Drawing.dll


  RasterEdge.Imaging.Font.dll


  RasterEdge.Imaging.Processing.dll


  RasterEdge.XImage.Raster.dll


  RasterEdge.XImage.Raster.Core.dll


  RasterEdge.XDoc.PDF.dll


  RasterEdge.XDoc.Office.Inner.Common.dll


  RasterEdge.XDoc.Office.Inner.Office03.dll


  RasterEdge.XDoc.Word.dll


Use corresponding namespaces;


  using RasterEdge.Imaging.Basic;


  using RasterEdge.XDoc.Word;




public override void ConvertToDocument(DocumentType targetType, String filePath)

Description:
     Convert to PDF/TIFF and save it on the disk.

Parameters:



public override void ConvertToDocument(DocumentType targetType, Stream stream)

Description:
     Convert to PDF/TIFF and save it into stream.

Parameters:



public override void ConvertToDocument(DocumentType targetType, float zoomValue, String filePath)

Description:
     Convert to PDF/TIFF with specified zoom value and save it on the disk.

Parameters:



public override void ConvertToDocument(DocumentType targetType, float zoomValue, Stream desStream)

Description:
     Convert to PDF/TIFF with specified zoom value and save it into stream.

Parameters:



public override void ConvertToDocument(DocumentType targetType, int resolution, String filePath)

Description:
     Convert to PDF/TIFF with specified resolution and save it on the disk.

Parameters:



public override void ConvertToDocument(DocumentType targetType, int resolution, Stream desStream)

Description:
     Convert to PDF/TIFF with specified resolution and save it into stream.

Parameters:



public override void ConvertToDocument(DocumentType targetType, ImageCompress compression, String filePath)

Description:
     Convert to PDF/TIFF with specified compression method and save it on the disk.

Parameters:



public override void ConvertToDocument(DocumentType targetType, ImageCompress compression, Stream desStream)

Description:
     Convert to PDF/TIFF with specified resolution and save it into stream.

Parameters:



public override void ConvertToDocument(DocumentType targetType, string filePath, ImageOutputOption options)

Description:
     Convert to PDF/TIFF with specified settings through options and save it on the disk.

Parameters:



public override void ConvertToDocument(DocumentType targetType, Stream desStream, ImageOutputOption options)

Description:
     Convert to PDF/TIFF with specified resolution and save it into stream.

Parameters: