PageSize.vb
'' 
'' このコードは、DioDocs for PDF のサンプルの一部として提供されています。
'' © MESCIUS inc. All rights reserved.
'' 
Imports System.IO
Imports System.Drawing
Imports GrapeCity.Documents.Common
Imports GrapeCity.Documents.Pdf
Imports GrapeCity.Documents.Text

'' ページのサイズと向きを変更する方法を示します。
Public Class PageSize
    Sub CreatePDF(ByVal stream As Stream)
        Dim in2mm = 72.0F / 25.4F
        Dim colorOrig = Color.Red
        Dim colorNew = Color.Blue
        Dim doc = New GcPdfDocument()
        '' デフォルトのページサイズは、縦向きのレターサイズ(8 1/2 インチ x 11インチ)です。
        Dim page = doc.NewPage()
        Dim sOrigPageInfo = $"変更前ページサイズ: {page.Size} ポイント ({page.Size.Width / 72.0F}"" * {page.Size.Height / 72.0F}""),{vbCrLf}" +
            $"用紙種類: {page.PaperKind}, 用紙は横向き: {page.Landscape}."
        '' 元のページ境界を保存します。
        Dim rOrig = page.Bounds
        '' ページのパラメータを変更します。
        page.Landscape = True
        page.PaperKind = PaperKind.A4
        Dim sNewPageInfo = $"変更後ページサイズ: {page.Size} ポイント ({page.Size.Width / 72.0F}"" * {page.Size.Height / 72.0F}""),{vbCrLf}" +
            $"用紙種類: {page.PaperKind}, 用紙は横向き: {page.Landscape}."
        '' 新しいページの境界です。
        Dim rNew = page.Bounds
        '' 元ページ(赤)および新ページ(青)の境界線をそれぞれ描画します。
        page.Graphics.DrawRectangle(rOrig, colorOrig, 6)
        page.Graphics.DrawRectangle(rNew, colorNew, 6)
        '' 元ページ(赤)および新ページ(青)の情報を描画します。
        Dim tf = New TextFormat() With {
            .Font = Util.getFont(),
            .FontSize = 14,
            .ForeColor = colorOrig
        }
        page.Graphics.DrawString(sOrigPageInfo, tf, New PointF(72, 72))
        tf.ForeColor = colorNew
        page.Graphics.DrawString(sNewPageInfo, tf, New PointF(72, 72 * 2))
        '' PDF ドキュメントを保存します。
        doc.Save(stream)
    End Sub
End Class