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

'' このサンプルは、HelloWorld サンプルで作成されたPDFファイルを読み込み、
'' 最初のページに短いテキストを追加し、結果を保存します。
Public Class LoadPDF
    Function CreatePDF(ByVal stream As Stream) As Integer
        Dim doc = New GcPdfDocument()
        '' 重要:GcPdfDocument.Load() メソッドを使用して既存のPDFファイルを操作する場合、
        '' そのメソッドに渡されたストリームは、ドキュメントを操作している間は開いたままに
        '' しておく必要があります。 
        '' これは、Load() メソッドが PDF ドキュメント全体をすぐにメモリに読み込まず、
        '' 必要に応じて PDF のさまざまな部分を読み込むためです。 
        '' ストリームは読み込みにのみ使用され、元のファイル自体は変更されません。
        '' 変更を保存するには、通常どおり GcPdfDocument.Save() メソッドの
        '' オーバーロードの1つを呼び出す必要があります。
        Using fs = New FileStream(Path.Combine("Resources", "PDFs", "HelloWorld.pdf"), FileMode.Open, FileAccess.Read)
            doc.Load(fs)
            '' ドキュメント内の(唯一の)ページにメモを追加します。
            Dim page = doc.Pages.Last
            Util.AddNote(
                "これは既存の PDF ファイル(HelloWorld.pdf)の文書に追加した文字列です。",
                page,
                New RectangleF(72, 72 * 3, page.Size.Width - 72 * 2, 72))
            ''
            '' PDF ドキュメントを保存します。
            doc.Save(stream)
        End Using
        Return doc.Pages.Count
    End Function
End Class