RenderPage0.cs
// 完毕:
using System;
using System.IO;
using System.Drawing;
using GrapeCity.Documents.Pdf;
using GrapeCity.Documents.Text;
using GrapeCity.Documents.Html;

namespace DsPdfWeb.Demos
{
    // 此示例展示了呈现网页的最简单方法
    // 由 PDF 的 URL 指定(此处我们呈现 Google 主页)。
    // 
    // 在此示例中,我们使用 GcHtmlBrowser 创建 HtmlPage 的实例
    // 加载指定的 URI,然后调用 HtmlPage.SaveAsPdf()
    // 将页面渲染为 PDF 的方法。
    // 
    // 一种允许您轻松添加 HTML 内容的不同方法
    // 通过扩展名将其与其他内容一起转换为 PDF 文件
    // 方法 GcPdfGraphics.MeasureHtml()/GcPdfGraphics.DrawHtml()
    // 如HelloWorldHtml 和其他示例所示。
    // 请注意,这些方法需要 GcHtmlBrowser 的实例
    // 作为参数传递。
    // 
    // 请参阅HelloWorldHtml顶部评论中的注释
    // 有关将 GcDocs.Html 添加到项目的详细信息的示例代码。
    public class RenderPage0
    {
        public void CreatePDF(Stream stream)
        {
            // 获取将在其中呈现网页的临时文件:
            var tmp = Path.GetTempFileName();
            // 要呈现的网页的 Uri:
            var uri = new Uri("http://www.google.com");
            // 创建一个用于呈现 HTML 的 GcHtmlBrowser 实例:
            using var browser = Common.Util.NewHtmlBrowser();
            // 创建一个呈现源 Uri 的 HtmlPage 实例:
            using var htmlPage = browser.NewPage(uri);
            // 将源网页渲染到临时文件:
            htmlPage.SaveAsPdf(tmp);
            // 将创建的 PDF 从临时文件复制到目标流:
            using (var ts = File.OpenRead(tmp))
                ts.CopyTo(stream);
            // 清理:
            File.Delete(tmp);
            // 完毕:
        }
    }
}