在本文中,我们将利用C#将XML文件转换为PDF。考虑以下与利用C#进行XML转换有关的用例:
将XML转换为PDF在XML中利用HTML并转换为PDF将XML和XSLT转换为PDF目前,.NET版Aspose.PDF升级到v20.6版,优化提取的页面丢失问题,修复PDF转换为HTML时的一些问题,感兴趣的朋友可点击下载最新版。(点击文末“理解更多”下载最新版)
将XML转换为PDF要将XML转换为PDF,您须要遵照Aspose.PDF for .NET API的XML Schema,该XML Schema是XSD文件。以下是一个XML文件,我们将其转换为PDF,作为Hello World演示。
<?xml version=34;1.0" encoding="utf-8" ?> <Document xmlns="Aspose.Pdf"> <Page id="mainSection"> <HtmlFragment> <![CDATA[ <font style="font-family:Tahoma; font-size:40px;">This is Html String.</font> ]]> </HtmlFragment> </Page> </Document>
须要按照以下步骤将XML转换为PDF文件:
初始化 Document 类的工具利用BindXml方法加载XML文件保存转换后的PDF文件以下代码段显示了如何在C#中将XML转换为PDF:
// Instantiate Document objectDocument doc = new Document();// Bind source XML filedoc.BindXml(dataDir + "XML.xml");// Convert XML to PDFdoc.Save(dataDir + "XMLToPDF.pdf");
在XML中利用HTML并转换为PDF
有时可能须要先将XML中的HTML转换为HTML。.NET API的Aspose.PDF也支持此功能。但是,HTML和XML标签非常相似。因此,须要指定CDATA标记,以便不将HTML解析为XML标记。下面的示例XML文件包括用CDATA表示的HTML,以避免涌现任何非常:
<?xml version="1.0" encoding="utf-8" ?><Document xmlns="Aspose.Pdf"> <Page id="mainPage"> <TextFragment> <TextSegment>Hello</TextSegment> </TextFragment> <TextFragment> <TextSegment>World!</TextSegment> </TextFragment> </Page></Document>
通过以下步骤将此XML文件转换为PDF:
实例化 Document 类的工具加载输入的XML文件保存输出的PDF文件下面的代码片段显示了如何在C#中将包含HTML的XML文件转换为PDF:
// Instantiate Document objectDocument doc = new Document();// Bind source XML filedoc.BindXml(dataDir + "XML.xml");// Convert XML to PDFdoc.Save(dataDir + "XMLToPDF.pdf");
将XML和XSLT转换为PDF
有时,可能已有一个包含主要运用程序数据的XML文件,并且想利用该XML文件天生PDF报告。在这种情形下,可以创建XSLT文件,以将现有XML文档转换为Aspose.PDF的兼容XML文档。然后,可以连续将XML转换为PDF。让我们通过大略而基本的示例来学习这一点:
<?xml version="1.0" encoding="utf-8" ?><Contents> <Content>Hello World!</Content></Contents>
<?xml version="1.0" encoding="utf-8" ?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="text()"/> <xsl:template match="/Contents"> <html> <Document xmlns="Aspose.Pdf" IsAutoHyphenated="false"> <PageInfo> <DefaultTextState Font = "Helvetica" FontSize="8" LineSpacing="4"/> <Margin Left="5cm" Right="5cm" Top="3cm" Bottom="15cm" /> </PageInfo> <Page id="mainSection"> <TextFragment> <TextSegment> <xsl:value-of select="Content"/> </TextSegment> </TextFragment> </Page> </Document> </html></xsl:template></xsl:stylesheet>
我们会把稳到,该XML文件不遵照Aspose.PDF for .NET API的XML模式。但是,XSLT文件将其转换为所需的兼容性。现在,可以按照以下步骤利用XSLT将此类XML转换为PDF:
初始化PDF 文档绑定 XML和XSLT文件保存输出的PDF文档下面的代码段基于以下步骤,这些步骤显示了如何在C#中将XML转换为PDF:
//Create pdf documentAspose.Pdf.Document pdf = new Aspose.Pdf.Document();//Bind XML and XSLT files to the documenttry{ pdf.BindXml(dataDir + "\\HelloWorld.xml", dataDir + "\\HelloWorld.xslt");}catch (System.Exception){ throw;} //Save the document pdf.Save(dataDir + "HelloWorldUsingXmlAndXslt.pdf");
如果您有任何疑问或需求,请随时加入Aspose技能互换群(642018183),我们很高兴为您供应查询和咨询。