.net html转为pdf,Aspose.PDF for .NET功能解读:如何在桌面和Web应用中将HTML转换为PDF...

Aspose.PDF for .NET是一种高级PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务。API可以轻松用于生成,修改,转换,渲染,保护和打印PDF文档,而无需使用Adobe

Acrobat。此外,还提供PDF压缩选项,表格创建和操作,图形和图像功能,广泛的超链接功能,印章和水印任务,扩展的安全控制和自定义字体处理。

HTML到PDF的转换在将不同文件格式相互转换之间具有其自身的意义,可以使用其他可用的应用程序,工具和在线服务将HTML转换为PDF。同样,我们也可以使用编程的方式,将HTML转换为PDF。

在Aspose.PDF for .Net中,提供了免费的HTML到PDF的基本转换,而且还允许指定各种选项来实现所需的功能,比如将网页转换为PDF、使用SVG数据渲染HTML等等。接下来我们一起通过示例解读的方式学习如何实现这些功能。

将HTML转换到PDF

只需使用几行代码和资源加载回调就可以以非常基本的方式将HTML转换为PDF,以下是使您达到目的的代码段:

// The path to the documents directory.

string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

HtmlLoadOptions options = new HtmlLoadOptions();

options.CustomLoaderOfExternalResources = new LoadOptions.ResourceLoadingStrategy(SamePictureLoader);

Document pdfDocument = new Document(dataDir + "HTMLToPDF.html", options);

pdfDocument.Save("HTMLToPDF_out.pdf");private static LoadOptions.ResourceLoadingResult SamePictureLoader(string resourceURI)

{

string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

byte[] resultBytes = File.ReadAllBytes(dataDir + "aspose-logo.jpg");

LoadOptions.ResourceLoadingResult result = new LoadOptions.ResourceLoadingResult(resultBytes);

return result;

}

将网页转换为PDF

通常需要将网页转换为PDF,并且如果手动执行此操作,则需要执行多个步骤。API提供的功能可以使用下面显示的代码执行。需要注意的是,以下代码段涵盖了Web页面到PDF转换操作的两个主要和基本方面:下载网页正在使用的资源,例如 CSS、图片

提供凭据以防访问页面//文档目录的路径。

string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

//创建对该URL的请求。

WebRequest request = WebRequest.Create("https:// En.wikipedia.org/wiki/Main_Page");

//如果服务器需要,请设置凭据。

request.Credentials = CredentialCache.DefaultCredentials;

//在请求超时之前以毫秒为单位超时

// Request.Timeout = 100;

//获取响应。

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

//获取包含服务器返回内容的流。

Stream dataStream = response.GetResponseStream();

//使用StreamReader打开流以方便访问。

StreamReader reader = new StreamReader(dataStream);

//阅读内容。

string responseFromServer = reader.ReadToEnd();

reader.Close();

dataStream.Close();

response.Close();

MemoryStream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(responseFromServer));

HtmlLoadOptions options = new HtmlLoadOptions("https:// En.wikipedia.org/wiki/");

//加载HTML文件

Document pdfDocument = new Document(stream, options);

options.PageInfo.IsLandscape = true;

//将输出另存为PDF格式

pdfDocument.Save(dataDir + "WebPageToPDF_out.pdf");

使用SVG数据渲染HTML

以下代码段显示了如何将带有SVG图形标签的HTML文件转换为Tagged PDF Document://文档目录的路径

string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

//设置输入文件路径

string inFile = dataDir + "HTMLSVG.html";

//设置输出文件路径

string outFile = dataDir + "RenderHTMLwithSVGData.pdf";

//初始化HtmlLoadOptions

HtmlLoadOptions options = new HtmlLoadOptions(Path.GetDirectoryName(inFile));

//初始化Document对象

Document pdfDocument = new Document(inFile, options);

//保存

pdfDocument.Save(outFile);

*想要购买Aspose正版授权的朋友可以联系慧都客服哦~

ASPOSE技术交流QQ群(642018183)已开通,各类资源及时分享,欢迎交流讨论!

扫描关注“慧聚IT”微信公众号,及时获取更多产品最新动态及最新资讯

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值