网站首页 > 教程分享 正文
用于ASP.NET API的Aspose.PDF广泛支持XML转换功能,因为根据API用户的要求,它包含许多相关的增强功能,可以使用将XML导出为PDF的高效功能来提升.NET应用程序。
在本文中,我们将使用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="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 object
Document doc = new Document();
// Bind source XML file
doc.BindXml(dataDir + "XML.xml");
// Convert XML to PDF
doc.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 object
Document doc = new Document();
// Bind source XML file
doc.BindXml(dataDir + "XML.xml");
// Convert XML to PDF
doc.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 document
Aspose.Pdf.Document pdf = new Aspose.Pdf.Document();
//Bind XML and XSLT files to the document
try
{
pdf.BindXml(dataDir + "\\HelloWorld.xml", dataDir + "\\HelloWorld.xslt");
}
catch (System.Exception)
{
throw;
}
//Save the document
pdf.Save(dataDir + "HelloWorldUsingXmlAndXslt.pdf");
如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询。
- 上一篇: XML 编辑器(xml编辑器汉化安卓版)
- 下一篇: XSLT 元素(excel元素)
猜你喜欢
- 2024-09-08 深圳尚学堂:干货来啦!JAVA常用代码(三)
- 2024-09-08 Web前端应该懂的JavaScript、Ajax、jQuery知识点!
- 2024-09-08 72 个网络应用安全实操要点,全方位保护 Web 应用的安全
- 2024-09-08 XSLT 实例(xsl:choose)
- 2024-09-08 JAVA历史版本(java历史版本列表)
- 2024-09-08 Ajax入门教程(非常详细)动力节点ajax教程,讲解全面
- 2024-09-08 如何在J2EE平台开发基于Velocity模板的Web应用
- 2024-09-08 前端 JS 之 AJAX 简介及使用(web前端ajax数据请求)
- 2024-09-08 网站开发必知流程项目开发(网站开发流程图)
- 2024-09-08 有同学问我:Fetch 和 Ajax 有什么区别?
你 发表评论:
欢迎- 最近发表
-
- IT之家学院:使用PIN或密码审批管理员权限
- Yarn 安装的时候提示错误 error:0308010C:digital envelope routines
- Windows常用的一些CMD运行命令(windows常见的命令)
- 电脑忘记开机密码10秒解决(戴尔电脑忘记开机密码10秒解决)
- 如何下载Windows 10聚焦提供的锁屏壁纸
- Windows CMD 命令大全:简单粗暴收藏!
- 系统小技巧:解决CHKDSK只读模式问题
- Windows的cmd都有哪些奇技淫巧?这22个CMD命令记得收藏起来!
- windows错误代码0x80072EE2?win10系统更新错误问题的处理方法
- Windows 10技术预览版快捷键方式汇总
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)