Solved

Convert Xml To Html To Pdf

Posted on 2014-01-14
3
554 Views
Last Modified: 2014-01-16
I am developing in C# with the 4.0 .Net Framework.  I am needing to take raw XML that a third-party sends us, apply a style sheet (also supplied by this third-party) to the XML, and then take the HTML that is generated from that, and save it as a PDF.

I am using XSLTransform to apply a style sheet to the XML, and get HTML generated.  I have that working.  However, I am struggling with how to convert that HTML to a PDF.  

Any suggestions?  Preferrable, there is already a solution for this by using the 4.0 .Net Framework;  preferrable I will not have to install any new libraries.  

If I can get the HTML to a System.Drawing.Image, I can then save that as a PDF.  We have PDFSharp that I can use for manipulating PDF's.

I have seen a lot of posts on this topic, but most posts that I have found seem older, and require downloading or purchasing new libraries.  I am hoping a more current solution exists.

Here is my code for applying the style sheet to the XML.  I have the HTML available in my XMLWriter, or in my "outputString".  (I am not convinced this is the best way to apply a style sheet to XML, so if there are any suggestions on better ways to do this, those are welcome).

string outputString = string.Empty;

                            XslCompiledTransform xslTransform = new XslCompiledTransform();
                            XsltSettings xsltSettings = new XsltSettings(true, true);
                            XmlUrlResolver resolver = new XmlUrlResolver();
                            xslTransform.Load("./ISOResultStyleSheetFiles/CS_XML_Output.xsl", xsltSettings, resolver);

                            using (StringReader sri = new StringReader(result.Result))
                            {
                                using (XmlReader xri = XmlReader.Create(sri))
                                {
                                    using (StringWriter sw = new StringWriter())
                                    {
                                        using (XmlWriter xwo = XmlWriter.Create(sw, xslTransform.OutputSettings))
                                        {
                                            xslTransform.Transform(xri, xwo);
                                            outputString = sw.ToString();
                                        }
                                    }
                                }
                            }

Open in new window

0
Comment
Question by:farminsure
  • 2
3 Comments
 
LVL 29

Expert Comment

by:anarki_jimbel
ID: 39780852
As far as I know there is no built-in functionality to convert xml ot HTML to PDF in .NET.

Therefore you'll need to use some third-party options. I can't see anything wrong with that.
You may try a free tool, e.g.:
https://code.google.com/p/wkhtmltopdf/
0
 

Author Comment

by:farminsure
ID: 39782088
Thanks for the suggestion, but I would prefer to not have to write the html out to a web page prior to converting it to a PDF.  From what I've read bout wkhtmltopdf, it takes the HTML from a URL and converts it to a PDF; but I don't have a URL, I just have the raw HTML in an object.  

Is there a way to convert HTML to an System.Drawing.Image?  If I can get HTML to a Image, then I can convert that image to a PDF using our existing PDFSharp tool.
0
 
LVL 29

Accepted Solution

by:
anarki_jimbel earned 500 total points
ID: 39783306
You can do this.

First, enter the following search string "convert html to image" to the "Search Experts Exchange" text box on the top and you'll get some possible solutions, I've checked.

Second, try MS forum solution: http://forums.asp.net/t/1692392.aspx.
Or stackoverflow.com/questions/17832304/convert-html-string-to-image.
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Install Problem 13 31
VB.NET 2008 - SQL Timeout 9 24
Convert Select to DropDownListFor MVC 5 2 16
SQL Query Help Top 1 and Distinct? 6 26
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question