彩票走势图

PDF管理控件Aspose.PDF for .Net使用教程(二十四):将HTML和Web Page转换为PDF

翻译|使用教程|编辑:李显亮|2019-12-25 09:39:28.840|阅读 533 次

概述:本系列教程中,将为开发者带来Aspose.PDF for .NET的一系列使用教程,例如进行文档间的转换,如何标记PDF文件,如何使用表单和图表等等。本文将介绍如何将HTML和Web Page转换为PDF。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Aspose.PDF for .NET是一种高PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务。API可以轻松用于生成、修改、转换、渲染、保护和打印PDF文档,而无需使用Adobe Acrobat。此外,API还提供PDF压缩选项,表格创建和操作,图形和图像功能,广泛的超链接功能,印章和水印任务,扩展的安全控制和自定义字体处理。

在接下来的系列教程中,将为开发者带来Aspose.PDF for .NET的一系列使用教程,例如进行文档间的转换,如何标记PDF文件,如何使用表单和图表等等。本文将介绍如何将HTML和Web Page转换为PDF。

>>Aspose.PDF for .NET更新至最新版v19.12,欢迎下载体验。


▲C#中将HTML转换为PDF格式

用于.NET的Aspose.PDF可以将HTML页面转换为PDF格式,并在转换过程中具有“资源加载回调”功能。当在不访问本地文件系统的情况下将外部资源加载到云服务中时,此功能很有用。

为了完成此功能,将  CustomLoaderOfExternalResources 属性添加到了  HtmlSaveOptions 对象中。以下代码段将HTML中引用的图片替换为预定义的图片。

// 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");
// For complete examples and data files, please go to //github.com/aspose-pdf/Aspose.PDF-for-.NET
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;
}

12月即将走过!Aspose.Total10000元直降活动即将落下帷幕!赶紧1分钟了解全部资讯!

▲将Web Page转换为PDF

HtmlLoadOptions  选项提供的功能,负载HTML内容并解析HTML标签据此,使它们产生的PDF中分别呈现。为了将网页内容转换为PDF格式,首先可以使用WebRequest  实例获取HTML页面内容,创建StreamReader对象并读取页面内容。最后,将内容传递给Document对象,并以PDF格式呈现输出。

将网络服务器上托管的网页转换为PDF时:

  • 使用HttpWebRequest 对象读取页面的内容  。

  • 将内容传递给  StreamReader 对象。

  • 创建的实例  MemoryStream。

  • HtmlLoadOptions 在传递网页URL时实例化该  对象。

  • Document 在传递流对象时初始化一个  对象。

  • (可选)将页面方向设置为,  Landscape 以便可以在页面上容纳更多内容。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Create a request for the URL.
WebRequest request = WebRequest.Create("// En.wikipedia.org/wiki/Main_Page");
// If required by the server, set the credentials.
request.Credentials = CredentialCache.DefaultCredentials;
// Time out in miliseconds before the request times out
// Request.Timeout = 100;

// Get the response.
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

// Get the stream containing content returned by the server.
Stream dataStream = response.GetResponseStream();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader(dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();

MemoryStream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(responseFromServer));
HtmlLoadOptions options = new HtmlLoadOptions("// En.wikipedia.org/wiki/");


// Load HTML file
Document pdfDocument = new Document(stream, options);

options.PageInfo.IsLandscape = true;

// Save output as PDF format
pdfDocument.Save(dataDir + "WebPageToPDF_out.pdf");

还想要更多吗?您可以点击阅读【2019 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询


标签:

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


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP