PageSize.vb
'' 
'' このコードは、DioDocs for PDF のサンプルの一部として提供されています。
'' Copyright (c) GrapeCity 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