- Home
- Testimonials
- Purchase
- Developer Tools
- Desktop Utilities
- Download
- Support
- Blog
- Company
Transforming XML using XSLT and PDFDoc Scout into PDF document using PDFDoc Scout library and Visual Basic .NET
How to convert XML into PDF using XSLT template transformation in Visual Basic .NET
See also XML to PDF example for VBScript (Visual Basic 6) here
See also XML to PDF example for Visual C# .NET here
This example describes how to transform XML into PDF in Visual Basic .NET using XSLT (.xsl) template and PDFDoc Scout library
Source XML data (simpsons.xml):
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="Simpsons.xsl"?>
<Simpsons>
<FamilyMember>Homer Jay Simpson</FamilyMember>
<FamilyMember>Marjorie Marge Simpson (Bouvier)</FamilyMember>
<FamilyMember>Bartholomew Jojo Bart Simpson</FamilyMember>
<FamilyMember>Lisa Marie Simpson</FamilyMember>
<FamilyMember>Margaret Maggie Simpson</FamilyMember>
<ExtendedFamilyMember>Abraham Jay Simpson</ExtendedFamilyMember>
<ExtendedFamilyMember>Mona J. Simpson</ExtendedFamilyMember>
<ExtendedFamilyMember>Jacqueline Ingrid Bouvier</ExtendedFamilyMember>
<ExtendedFamilyMember>Clancy Bouvier</ExtendedFamilyMember>
<ExtendedFamilyMember>Patricia "Patty" Bouvier</ExtendedFamilyMember>
</Simpsons>
XSLT template (simpsons.xsl):
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="FamilyMember">
<p><b><u><xsl:value-of select="."/></u></b></p>
</xsl:template>
<xsl:template match="ExtendedFamilyMember">
<p><i><xsl:value-of select="."/></i></p>
</xsl:template>
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Produced PDF document (XML2HTML.pdf generated from source Simpsons.xml XML data)

Code of Form1.vb
<font color="black" face="Courier New" size="2"><font color="#0000ff">Imports</font> System.IO<br> <font color="#0000ff">Imports</font> System.Xml<br> <font color="#0000ff">Imports</font> System.Xml.XPath<br> <font color="#0000ff">Imports</font> System.Xml.Xsl<br> <br> <font color="#0000ff">Public</font> <font color="#0000ff">Class</font> Form1<br> <br> <font color="#0000ff">Private</font> <font color="#0000ff">Sub</font> btnXMLToPDF_Click(<font color="#0000ff">ByVal</font> sender <font color="#0000ff">As</font> System.<font color="#0000ff">Object</font>, <font color="#0000ff">ByVal</font> e <font color="#0000ff">As</font> System.EventArgs) <font color="#0000ff">Handles</font> btnXMLToPDF.Click<br> <font color="#008000">' Transform XML using XSLT and get HTML code</font><br> <font color="#008000">' then create PDF document from produced HTML code</font><br> <br> <font color="#0000ff">Dim</font> PDFDoc <font color="#0000ff">As</font> <font color="#0000ff">New</font> PDFDocScout.PDFDocument()<br> PDFDoc.InitLibrary(<font color="#a31515">"demo"</font>, <font color="#a31515">"demo"</font>)<br> PDFDoc.OutputFileName = <font color="#a31515">"XML2HTML.pdf"</font><br> PDFDoc.AutoOpenGeneratedPDF = <font color="#0000ff">True</font><br> <br> PDFDoc.BeginDocument()<br> <br> <font color="#008000">' load source XML document</font><br> <font color="#0000ff">Dim</font> xmlDoc <font color="#0000ff">As</font> <font color="#0000ff">New</font> XmlDocument()<br> xmlDoc.Load(boxXML.Text)<br> <br> <font color="#0000ff">Dim</font> xslt <font color="#0000ff">As</font> <font color="#0000ff">New</font> XslCompiledTransform()<br> xslt.Load(boxXSLT.Text)<br> <br> <font color="#008000">' create XML doc to store result of transformation</font><br> <font color="#0000ff">Dim</font> objResultXML <font color="#0000ff">As</font> <font color="#0000ff">New</font> XmlDocument()<br> <br> <font color="#008000">'Transform the XML using XLST into HTML (produced HTML is written to writer object)</font><br> <font color="#0000ff">Dim</font> writer <font color="#0000ff">As</font> <font color="#0000ff">New</font> StringWriter()<br> xslt.Transform(<font color="#0000ff">New</font> XPathDocument(boxXML.Text), <font color="#0000ff">Nothing</font>, writer)<br> writer.Close()<br> <br> <font color="#008000">' convert produced HTML code into PDF</font><br> PDFDoc.Page.AddHTMLBox(writer.ToString(), 0, 0, PDFDoc.Page.Width, PDFDoc.Page.Height, <font color="#0000ff">True</font>)<br> <br> PDFDoc.EndDocument()<br> <font color="#008000">' close PDF document generation</font><br> <font color="#0000ff">End</font> <font color="#0000ff">Sub</font><br> <font color="#0000ff">End</font> <font color="#0000ff">Class</font></font>
Filed in:
PDFDoc Scout SDK
Tutorials:


