2016-08-04 3 views
0

これはPDFSharpに固有のものかどうかはわかりませんが、私は以下のようにVB.NetプロジェクトのメインフォームでPDFドキュメントを作成しました。モジュールはそれにアクセスして新しいページを作成し、それらのページに書き込むことができます。助けてくれてありがとう。私は "doc"をpublicとして宣言しようとしましたが、うまくいきませんでした。PDFSharpでのグローバルドキュメントの作成

これは私が持っているコードです:

[メインフォーム]

パブリック・クラスのForm1

ます。Public SubのButton1 Click(System.EventArgsとしてのSystem.Object、ByValを電子としてByVal送信者)がButton1をハンドル.Click

Dim doc As PdfDocument = New PdfDocument 
    doc.Info.Title = "Created with PDFsharp" 

    Output.Addpage() 

    Dim filename As String = "NewFile.pdf" 
    doc.Save(filename) 

    Process.Start(filename) 

End Sub 

エンドクラス

出力モジュール

ます。Public SubのaddPage()XGraphics = XGraphics.FromPdfPageとしてGFXを使用して

page = doc.AddPage 

(ページ)

gfx.DrawRectangle(TablePen, dispLeftMarg - 4, dispTopMarg - 8, dispallowedL + 8, dispallowedH + 12) 

    End Using 
End Sub 

答えて

0

私はVB.NETでdoc公衆を作る方法がわかりません。

この場合は、とにかくやりません。

Public Sub Addpage()の呼び出しでdocをパラメータとして渡すときれいです。

Public Sub Addpage(ByVal doc As PdfDocument)はすべきことです。

+0

ありがとうございます。これは私が今やっていることですが、ページを追加して書き込むすべてのSubへの呼び出しごとにその引数を追加する必要がないことを望んでいました。 – PDasgupta

+0

フィールド 'doc'をクリックイベントハンドラの外部のクラスに追加し、それを公開させます。またはプロパティを作成します(パブリックゲッターを持つプライベートフィールド)。これは、プロパティが常に存在するため、大きなハックですが、clickイベントが実行されている間は意味をなさない値になります。クリックイベントの開始時に 'doc = new PdfDocument'を呼び出し、最後に' doc = nothing'を呼び出します。私はよりクリーンなコードを取得するためのパラメータとして 'doc'を渡します。 –

関連する問題