RenderPage0.cs
// 
// このコードは、DioDocs for PDF のサンプルの一部として提供されています。
// Copyright (c) GrapeCity inc. All rights reserved.
// 
using System;
using System.IO;
using System.Drawing;
using GrapeCity.Documents.Pdf;
using GrapeCity.Documents.Text;
using GrapeCity.Documents.Html;

namespace GcPdfWeb.Samples
{
    // このサンプルは、PDF への URL で指定された Web ページをレンダリングする
    // 最も簡単な方法を示しています(ここでは、Google ホームページをレンダリングします)。
    // 
    // このサンプルでは、GcHtmlRenderer クラスを直接使用してページを一時的な PDF
    // ファイルにレンダリングし、出力ストリームで返します。
    // 他のコンテンツと共に HTML ファイルを PDF ファイルに簡単に追加できる、より柔軟な
    // 方法は、HelloWorldHtml および他のサンプルで示されているように、拡張
    // メソッド GcPdfGraphics.MeasureHtml()/GcPdfGraphics.DrawHtml() を使用
    // することです。
    // 
    // GcHtml をプロジェクトに追加する方法の詳細については、HelloWorldHtml
    // サンプルコードの上部にあるコメントのメモを参照してください。
    public class RenderPage0
    {
        public void CreatePDF(Stream stream)
        {
            // Web ページがレンダリングされる一時ファイルを取得します。
            var tmp = Path.GetTempFileName();
            // レンダリングする Web ページの Uri。
            var uri = new Uri("https://www.google.co.jp");
            // ソース Uri で GcHtmlRenderer を作成します(GcHtmlRenderer ctor および
            // 他の HTML レンダリングメソッドは、レンダリングする HTML ページを指定する Uri、
            // または実際の HTML を表す文字列のいずれかを受け入れることに注意してください)。
            using (var re = new GcHtmlRenderer(uri))
                // ソースWebページを一時ファイルにレンダリングします。
                re.RenderToPdf(tmp);
            // 作成した PDF を一時ファイルからターゲットストリームにコピーします。
            using (var ts = File.OpenRead(tmp))
                ts.CopyTo(stream);
            // 一時ファイルを削除します。
            File.Delete(tmp);
            // PDF ドキュメントを保存します。
        }
    }
}