• Winnovative Word To PDF Converter for .NET


    Winnovative Word To PDF Converter for .NET

    Winnovative Word to PDF Converter can be used in any type of .NET application to convert Word documents to PDF. The integration with existing .NET applications is extremely easy and no installation is necessary in order to run the converter. The downloaded archive contains the assembly for .NET and demo applications for Word to PDF conversion. The result of conversion can be produced in a memory buffer, in a file on disk or in a stream.

    The Word to PDF Converter does not require Microsoft Word or other third party tools.

    Features

     Convert Word DOC and DOCX documents to PDF
     Does not require Microsoft Word or other third party tools
     Convert to memory buffer, file, stream or to a PDF object for further processing
     Convert all the pages or select the pages in document to convert
     Add headers and footers with page numbering to PDF pages
     Append or prepend external PDF files to conversion result
     Password protect and set permissions of the PDF document
     Add a digital signature to generated PDF document
     Add graphic elements to generated PDF document
     Generate PDF/A and PDF/X compliant documents
     Generate CMYK and Gray Scale PDF documents
     Edit existing PDF documents
     Merge multiple PDF documents in a single PDF document
     Split a PDF document in multiple PDF documents
     Support for .NET 4.0 framework and later
     Documentation and C# samples for all the features
     

    Code Sample for Word to PDF Conversion

    The code below was taken from the Word to PDF demo application available for download in the Word to PDF Converter archive. In this example an instance of the WordToPdfConverter class is constructed and used to convert an Word file to a PDF document in a memory buffer. The resulted buffer is saved in a PDF file on disk. The demo also contains code for adding a header and a footer with page numbering to the resulted PDF document.
    private void btnWordToPdf_Click(object sender, EventArgs e)
    {
        // Create a Word to PDF converter object with default settings
        WordToPdfConverter wordToPdfConverter = new WordToPdfConverter();
    
        // Set license key received after purchase to use the converter in licensed mode
        // Leave it not set to use the converter in demo mode
        wordToPdfConverter.LicenseKey = "DYOSgpaRgpKClIySgpGTjJOQjJubm5uCkg==";
    
        // Word Content Destination and Spacing Options
    
        // Set Word content destination in PDF page
        if (xLocationTextBox.Text.Length > 0)
            wordToPdfConverter.PdfDocumentOptions.X = float.Parse(xLocationTextBox.Text);
        if (yLocationTextBox.Text.Length > 0)
            wordToPdfConverter.PdfDocumentOptions.Y = float.Parse(yLocationTextBox.Text);
        if (contentWidthTextBox.Text.Length > 0)
            wordToPdfConverter.PdfDocumentOptions.Width = float.Parse(contentWidthTextBox.Text);
        if (contentHeightTextBox.Text.Length > 0)
            wordToPdfConverter.PdfDocumentOptions.Height = float.Parse(contentHeightTextBox.Text);
    
        // Set Word content top and bottom spacing or leave them not set to have no spacing for the Word content
        wordToPdfConverter.PdfDocumentOptions.TopSpacing = float.Parse(topSpacingTextBox.Text);
        wordToPdfConverter.PdfDocumentOptions.BottomSpacing = float.Parse(bottomSpacingTextBox.Text);
                
        // Add Header
    
        // Enable header in the generated PDF document
        wordToPdfConverter.PdfDocumentOptions.ShowHeader = addHeaderCheckBox.Checked;
    
        // Draw header elements
        if (wordToPdfConverter.PdfDocumentOptions.ShowHeader)
            DrawHeader(wordToPdfConverter, true);
    
        // Add Footer
    
        // Enable footer in the generated PDF document
        wordToPdfConverter.PdfDocumentOptions.ShowFooter = addFooterCheckBox.Checked;
    
        // Draw footer elements
        if (wordToPdfConverter.PdfDocumentOptions.ShowFooter)
            DrawFooter(wordToPdfConverter, true, true);
    
        Cursor = Cursors.WaitCursor;
    
        string outPdfFile = @"DemoAppFiles\Output\WordToPdf.pdf";
        try
        {
            string wordFile = wordFilePathTextBox.Text;
    
            // Convert the Word document to a PDF document
            byte[] outPdfBuffer = wordToPdfConverter.ConvertWordFile(wordFile);
    
            // Write the memory buffer in a PDF file
            System.IO.File.WriteAllBytes(outPdfFile, outPdfBuffer);
        }
        catch (Exception ex)
        {
            // The Word to PDF conversion failed
            MessageBox.Show(String.Format("Word to PDF Error. {0}", ex.Message));
            return;
        }
        finally
        {
            Cursor = Cursors.Arrow;
        }
    
        // Open the created PDF document in default PDF viewer
        try
        {
            System.Diagnostics.Process.Start(outPdfFile);
        }
        catch (Exception ex)
        {
            MessageBox.Show(String.Format("Cannot open created PDF file '{0}'. {1}", outPdfFile, ex.Message));
        }
    }
    
    /// 
    /// Draw the header elements
    /// 
    /// The Word to PDF Converter object
    /// A flag indicating if a line should be drawn at the bottom of the header
    private void DrawHeader(WordToPdfConverter WordToPdfConverter, bool drawHeaderLine)
    {
        string headerImagePath = System.IO.Path.Combine(Application.StartupPath,
                    @"DemoAppFiles\Input\Images\logo.jpg");
    
        // Set the header height in points
        WordToPdfConverter.PdfHeaderOptions.HeaderHeight = 60;
    
        // Set header background color
        WordToPdfConverter.PdfHeaderOptions.HeaderBackColor = Color.WhiteSmoke;
    
        // Set logo
        ImageElement headerImage = new ImageElement(5, 5, 100, 50, headerImagePath);
        WordToPdfConverter.PdfHeaderOptions.AddElement(headerImage);
    
        // Set header text
        TextElement headerText = new TextElement(0, 5, "Winnovative Word to PDF Converter ",
            new System.Drawing.Font(new System.Drawing.FontFamily("Times New Roman"), 10, System.Drawing.GraphicsUnit.Point));
        // Align the text at the right of the footer
        headerText.TextAlign = HorizontalTextAlign.Right;
        // Set text color
        headerText.ForeColor = Color.Navy;
        // Embed the text element font in PDF
        headerText.EmbedSysFont = true;
        // Add the text element to header
        WordToPdfConverter.PdfHeaderOptions.AddElement(headerText);
    }
    
    /// 
    /// Draw the footer elements
    /// 
    /// The Word to PDF Converter object
    /// A flag indicating if the page numbering is present in footer
    /// A flag indicating if a line should be drawn at the top of the footer
    private void DrawFooter(WordToPdfConverter WordToPdfConverter, bool addPageNumbers, bool drawFooterLine)
    {
        string footerImagePath = System.IO.Path.Combine(Application.StartupPath,
                    @"DemoAppFiles\Input\Images\logo.jpg");
    
        // Set the footer height in points
        WordToPdfConverter.PdfFooterOptions.FooterHeight = 60;
    
        // Set footer background color
        WordToPdfConverter.PdfFooterOptions.FooterBackColor = Color.WhiteSmoke;
    
        // Set logo
        ImageElement headerImage = new ImageElement(5, 5, 100, 50, footerImagePath);
        WordToPdfConverter.PdfFooterOptions.AddElement(headerImage);
    
        // Add page numbering
        if (addPageNumbers)
        {
            // Create a text element with page numbering place holders &p; and & P;
            TextElement footerText = new TextElement(0, 30, "Page &p; of &P;  ",
                new System.Drawing.Font(new System.Drawing.FontFamily("Times New Roman"), 10, System.Drawing.GraphicsUnit.Point));
    
            // Align the text at the right of the footer
            footerText.TextAlign = HorizontalTextAlign.Right;
    
            // Set page numbering text color
            footerText.ForeColor = Color.Navy;
    
            // Embed the text element font in PDF
            footerText.EmbedSysFont = true;
    
            // Add the text element to footer
            WordToPdfConverter.PdfFooterOptions.AddElement(footerText);
        }
    }
  • 相关阅读:
    智能公交监控调度系统技术方案,等车不再等到心碎
    C/C++进程超详细详解【下部分】(系统性学习day8)
    Redis 哨兵模式的实现详解
    低压配电箱监测报警系统:智能化监控的重要
    287_C++_TaskQueue管理任务队列和定时器(头文件.h)
    PandaGPT部署演示
    电力4G变倍云台摄像头低功耗测试对比
    第十三届蓝桥杯大赛软件赛省赛CC++大学B组
    GPU释放显存
    淘宝卖家如何批量采集竞品sku进行分析?推荐2个商品sku获取API
  • 原文地址:https://blog.csdn.net/john_dwh/article/details/127631943