Click here to Skip to main content
15,884,388 members
Articles / Programming Languages / XML

Generate PDF Using C#

Rate me:
Please Sign up or sign in to vote.
4.75/5 (41 votes)
1 Feb 2009CPOL9 min read 545K   11K   262  
Using OpenOffice to convert different document types to PDF.
using System;
using System.IO;
using System.Configuration;

namespace PDFWeb
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void GiveMePDFButton_Click(object sender, EventArgs e)
        {
            // Initialize Receiver in GenericSender
            OpenOfficeService.Objects.GenericSender.Init(
                "tcp://localhost:6543/OpenOfficeServiceReceiver");

            // Translate path and load up file in byte array, convert it
            string source = Server.MapPath("~/SomeWordML.xml");
            byte[] wordML = File.ReadAllBytes(source);

            byte[] result = OpenOfficeService.Objects.GenericSender.Receiver.ConvertToPDF(wordML);

            // Write response to client
            Response.AddHeader("content-type", "application/pdf");
            Response.AddHeader("Content-Disposition", "attachment; filename=result.pdf");

            Response.BinaryWrite(result);
        }

        protected void ExcelToPDFButton_Click(object sender, EventArgs e)
        {
            // Almost same as WordML to PDF
            OpenOfficeService.Objects.GenericSender.Init(
                "tcp://localhost:6543/OpenOfficeServiceReceiver");

            string source = Server.MapPath("~/ExcelSheet.xls");

            byte[] result = OpenOfficeService.Objects.GenericSender.Receiver.ConvertToPDF(source);

            Response.AddHeader("content-type", "application/pdf");
            Response.AddHeader("Content-Disposition", "attachment; filename=result.pdf");

            Response.BinaryWrite(result);
        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Chief Technology Officer
United States United States
If you liked this article, consider reading other articles by me. For republishing article on other websites, please contact me by leaving a comment.

Comments and Discussions