フッターコンテンツにスキップ
IRONPDFの使用

VB.NET フォームをPDFに印刷する方法

現実的になりましょう: VB.NETでWindowsフォームをPDFドキュメントに変換することは頻繁に求められる要件ですが、.NET FrameworkにはネイティブのPDF印刷機能がありません。 レポートからPDFファイルを生成したり、フォームデータを保存したり、印刷可能なドキュメントを作成したりするための信頼性の高い方法が必要です。

幸い、IronPDFは迅速で簡略化された解決策を提供します。 このツールにより、Adobe Readerのインストールや複雑なPDFプリンターのセットアップの手間をかけずに、フォームをPDFファイルに印刷することができます。この完全な記事では、それを数分で行う方法を示します。

なぜIronPDFをフォームからPDFファイルへの変換に使用するのか?

IronPDFは、WindowsフォームやWebフォーム(ASPXページを含む)をPDFドキュメントに変換するプロセスを簡素化する包括的な.NET PDFライブラリです。 PDFプリンターや複雑な描画操作に頼る従来のアプローチとは異なり、IronPDFはChromeレンダリングエンジンを使用して、VB .NETプロジェクトからピクセル単位の精度でPDFファイルを生成します。

ライブラリは、フォームコントロールのレンダリングからページレイアウトの管理まで、PDFコンテンツ作成のあらゆる側面を処理し、WindowsフォームアプリケーションやASP.NET Webアプリケーションの両方に最適です。 IronPDFのHTMLからPDFへの変換機能により、開発者は効率的にプロフェッショナルなドキュメントを作成できます。 この強力なリソースは開発を加速させる鍵です。

VB.NETプロジェクトにIronPDFをインストールする

IronPDFの開始にはほんの数分しかかかりません。 最も簡単なインストール方法は、Visual StudioのNuGetパッケージマネージャーを使用することです:

  1. ソリューションエクスプローラーでプロジェクトを右クリック
  2. "NuGetパッケージの管理" を選択
  3. "IronPDF"を検索します
  4. 最新バージョンを追加するためにインストールをクリックします

または、以下のコマンドを使用してパッケージマネージャーコンソールを使用できます:

Install-Package IronPdf

詳細なセットアップ手順は、IronPDFインストールガイドリンクを訪問してください。 インストールが完了したら、「Imports IronPDF」を追加してライブラリの強力な機能を利用し始めてください。

NuGet 購入の準備ができていませんか?

PM >  Install-Package IronPdf

IronPDFNuGet でチェックしてください。1000万回以上のダウンロードで、C#によるPDF開発を変革しています。 DLL または Windowsインストーラー をダウンロードすることもできます。

WindowsフォームをPDFに変換する:ステップバイステップのコード

次のコード例は、Windowsフォームをキャプチャして新しいPDFDocumentオブジェクトに変換する方法を示しています:

Imports IronPdf
Imports System.Drawing
Imports System.Windows.Forms
Public Class Form1
    Private Sub btnPrintToPDF_Click(sender As Object, e As EventArgs) Handles btnPrintToPDF.Click
        ' Capture the form as HTML content
        Dim htmlContent As String = GenerateFormHTML()
        ' Initialize IronPDF's ChromePdfRenderer instance
        Dim renderer As New ChromePdfRenderer()
        ' Configure rendering options for better output
        renderer.RenderingOptions.MarginTop = 10
        renderer.RenderingOptions.MarginBottom = 10
        renderer.RenderingOptions.MarginLeft = 10
        renderer.RenderingOptions.MarginRight = 10
        ' Generate PDF from HTML content
        Dim pdfDocument As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
        ' Save the PDF file
        Dim fileName As String = "FormOutput.pdf"
        pdfDocument.SaveAs(fileName)
        ' Optional: Open the generated PDF
        Process.Start(fileName)
    End Sub
    Private Function GenerateFormHTML() As String
        ' Build HTML representation of your form
        Dim html As New System.Text.StringBuilder()
        html.Append("<html><head>")
        html.Append("<style>")
        html.Append("body { font-family: Arial, sans-serif; }")
        html.Append("table { width: 100%; border-collapse: collapse; }")
        html.Append("td { padding: 8px; border: 1px solid #ddd; }")
        html.Append("</style>")
        html.Append("</head><body>")
        html.Append("<h1>Hello World</h1>")
        html.Append("<table>")
        ' Add form controls data
        For Each ctrl As Control In Me.Controls
            If TypeOf ctrl Is TextBox Then
                Dim textBox As TextBox = DirectCast(ctrl, TextBox)
                html.AppendFormat("<tr><td>{0}:</td><td>{1}</td></tr>", 
                                textBox.Name, textBox.Text)
            ElseIf TypeOf ctrl Is ComboBox Then
                Dim comboBox As ComboBox = DirectCast(ctrl, ComboBox)
                html.AppendFormat("<tr><td>{0}:</td><td>{1}</td></tr>", 
                                comboBox.Name, comboBox.Text)
            End If
        Next
        html.Append("</table>")
        html.Append("</body></html>")
        Return html.ToString()
    End Function
End Sub
Imports IronPdf
Imports System.Drawing
Imports System.Windows.Forms
Public Class Form1
    Private Sub btnPrintToPDF_Click(sender As Object, e As EventArgs) Handles btnPrintToPDF.Click
        ' Capture the form as HTML content
        Dim htmlContent As String = GenerateFormHTML()
        ' Initialize IronPDF's ChromePdfRenderer instance
        Dim renderer As New ChromePdfRenderer()
        ' Configure rendering options for better output
        renderer.RenderingOptions.MarginTop = 10
        renderer.RenderingOptions.MarginBottom = 10
        renderer.RenderingOptions.MarginLeft = 10
        renderer.RenderingOptions.MarginRight = 10
        ' Generate PDF from HTML content
        Dim pdfDocument As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
        ' Save the PDF file
        Dim fileName As String = "FormOutput.pdf"
        pdfDocument.SaveAs(fileName)
        ' Optional: Open the generated PDF
        Process.Start(fileName)
    End Sub
    Private Function GenerateFormHTML() As String
        ' Build HTML representation of your form
        Dim html As New System.Text.StringBuilder()
        html.Append("<html><head>")
        html.Append("<style>")
        html.Append("body { font-family: Arial, sans-serif; }")
        html.Append("table { width: 100%; border-collapse: collapse; }")
        html.Append("td { padding: 8px; border: 1px solid #ddd; }")
        html.Append("</style>")
        html.Append("</head><body>")
        html.Append("<h1>Hello World</h1>")
        html.Append("<table>")
        ' Add form controls data
        For Each ctrl As Control In Me.Controls
            If TypeOf ctrl Is TextBox Then
                Dim textBox As TextBox = DirectCast(ctrl, TextBox)
                html.AppendFormat("<tr><td>{0}:</td><td>{1}</td></tr>", 
                                textBox.Name, textBox.Text)
            ElseIf TypeOf ctrl Is ComboBox Then
                Dim comboBox As ComboBox = DirectCast(ctrl, ComboBox)
                html.AppendFormat("<tr><td>{0}:</td><td>{1}</td></tr>", 
                                comboBox.Name, comboBox.Text)
            End If
        Next
        html.Append("</table>")
        html.Append("</body></html>")
        Return html.ToString()
    End Function
End Sub
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このコードスニペットは、いくつかの重要な概念を示しています。最初に、Windowsフォームコントロールを反復処理してフォームデータをキャプチャします。 次に、CSSスタイルを使用して適切なフォーマットでHTML表現を構築します。 最後に、IronPDFのRenderUrlAsPdfメソッドのバリエーションであるRenderHtmlAsPdfが、このHTMLをプロフェッショナルなフォーマットでPDFドキュメントに変換します。 このメソッドはPDFコンテンツ生成を自動的に処理し、指定されたファイル名で出力ファイルにフォームが正確に表現されるようにします。 WebページまたはURLから新しいドキュメントを作成する際にも同様のアプローチが使用されます。

例のWindowsフォームUI

VB.NETフォームをPDFに印刷する方法:図1 - Windowsフォームの出力例

出力PDFドキュメント

VB.NETフォームをPDFに印刷する方法:図2 - PDF出力例

代替方法:複雑なフォームに画像を使用する

複雑なグラフィックスやカスタム描画を伴うフォームの場合、フォームを画像としてキャプチャすることができます。 以下のコードスニペットは、このアプローチを示しています:

Private Sub PrintFormAsImage()
    ' Capture form as bitmap
    Dim bitmap As New Bitmap(Me.Width, Me.Height)
    Me.DrawToBitmap(bitmap, New Rectangle(0, 0, Me.Width, Me.Height))
    ' Save bitmap to memory stream
    Dim ms As New System.IO.MemoryStream()
    bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png)
    ' Convert image to PDF using IronPDF
    Dim pdfDocument As PdfDocument = ImageToPdfConverter.ImageToPdf(ms.ToArray())
    pdfDocument.SaveAs("FormImage.pdf")
End Sub
Private Sub PrintFormAsImage()
    ' Capture form as bitmap
    Dim bitmap As New Bitmap(Me.Width, Me.Height)
    Me.DrawToBitmap(bitmap, New Rectangle(0, 0, Me.Width, Me.Height))
    ' Save bitmap to memory stream
    Dim ms As New System.IO.MemoryStream()
    bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png)
    ' Convert image to PDF using IronPDF
    Dim pdfDocument As PdfDocument = ImageToPdfConverter.ImageToPdf(ms.ToArray())
    pdfDocument.SaveAs("FormImage.pdf")
End Sub
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このコードは複雑なフォームに対する代替アプローチを提供します。 DrawToBitmapメソッドを使用して、カスタムグラフィックスや特殊なコントロールを含む正確な視覚表現を保持しながら、フォーム全体を画像としてキャプチャします。 ImageToPdfConverterクラスは、PNGや他の画像フォーマットからPDFへの高品質な変換を確実にします。 これにより、複雑なフォーム処理の明確な参考資料が提供されます。

PDFドキュメントを直接印刷する

PDFファイルを生成したら、IronPDFは直接印刷もサポートしています:

' Print PDF to default printer
pdfDocument.Print()
' Print with specific settings
Dim printDoc As System.Drawing.Printing.PrintDocument = pdfDocument.GetPrintDocument()
printDoc.PrinterSettings.PrinterName = "My Printer"
printDoc.Print()
' Print PDF to default printer
pdfDocument.Print()
' Print with specific settings
Dim printDoc As System.Drawing.Printing.PrintDocument = pdfDocument.GetPrintDocument()
printDoc.PrinterSettings.PrinterName = "My Printer"
printDoc.Print()
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このサンプルコードは、PDFファイルを開かずに直接印刷する方法を示しています。 最初の方法はドキュメントをデフォルトのプリンターに送信し、2番目の方法はプログラムでプリンター設定を指定できます。 PDFドキュメントの印刷の詳細については、IronPDF印刷ドキュメントを参照してください。

プロフェッショナル機能の追加

IronPDFはプロフェッショナル機能でPDFドキュメントを強化することを可能にします。 これには高度な編集オプションが含まれます:

' Add headers and footers
renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
    .CenterText = "Company Report",
    .DrawDividerLine = True
}
' Set page numbers on first page and beyond
renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
    .RightText = "Page {page} of {total-pages}",
    .FontSize = 10
}
' Add headers and footers
renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
    .CenterText = "Company Report",
    .DrawDividerLine = True
}
' Set page numbers on first page and beyond
renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
    .RightText = "Page {page} of {total-pages}",
    .FontSize = 10
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

これらの機能により、基本的なPDFファイルがプロフェッショナルなドキュメントに変わります。 ライブラリはPDFコンテンツの包括的なカスタマイズをサポートし、ヘッダーやフッターからセキュリティ設定まで含まれます。 高度なPDF機能についてさらに詳しく知る(カスタマイズオプションに注意してください)。

出力

VB.NETフォームをPDFに印刷する方法:図3 - カスタムヘッダーとフッターを備えたPDF出力例

一般的なトラブルシューティングのヒント

.NETアプリケーションでフォームからPDFへの変換を行う際は、次の点に注意してください:

  • 必要なすべての.NET Frameworkコンポーネントをインストールします
  • Webアプリケーション(ASPX)の場合、ファイルシステムアクセスのためのIISの権限を確認します
  • フォームデータに国際文字を使用する場合はUTF-8エンコードを使用します(引数)
  • 適切なページレイアウトを確保するために、異なるフォームサイズでレンダリングをテストします
  • 生成されたPDFファイルを適切なローカルコピーのディレクトリに保存します。 これはフォームデータ変換のロード終了時に発生します

For additional support, consult the comprehensive IronPDF documentation or explore community solutions on Stack Overflow (post a question).

結論

IronPDFはフォームをPDFに印刷する複雑な作業を単純なプロセスに変えます。 WindowsフォームアプリケーションやASP.NET Webフォームを構築する際、ライブラリはVB.NETプロジェクトからPDFドキュメントを生成するためのすべてのツールを提供します。 これはどのユーザーにとっても強力なリソースです。

HTMLレンダリング機能と直接のフォームキャプチャメソッドの組み合わせにより、さまざまなフォームタイプと要件を扱う開発者に柔軟性を提供します。 ヘッダー、フッター、セキュリティ設定などの高度な機能をサポートすることで、IronPDFは.NETアプリケーションでのPDF生成の完全なソリューションを提供します。

VB.NETの印刷フォームからPDFタスク、またはその他のPDFワークフローにIronPDFを使用する準備はできていますか? 無料トライアルから始める IronPDFを使用するか、包括的なドキュメントおよびAPIリファレンスを探索してさらなる機能を発見してください。 本番展開の場合、ライセンシングオプションは$799から始まります。

今日IronPDFをダウンロードし、たった数行のコードでWindowsフォームをプロフェッショナルなPDFドキュメントに変換してください。

よくある質問

VB.NETでWindowsフォームをPDFに変換するにはどうすればいいですか?

IronPDFを利用することで、VB.NETでWindowsフォームをPDFに変換できます。これにより、フォームデータからPDFファイルを生成する簡単な方法が提供されます。

NET FrameworkはネイティブでPDF印刷をサポートしていますか?

いいえ、.NET FrameworkはネイティブのPDF印刷をサポートしていません。しかし、IronPDFを使えば、Windowsフォームから簡単にPDFドキュメントを変換し印刷できます。

フォームを印刷するためにIronPDFを使用する利点は何ですか?

IronPDFはWindowsフォームからPDFを生成するプロセスを簡素化し、コード例、インストールガイド、堅牢なトラブルシューティングサポートなどの機能を提供して、スムーズなPDF作成を確保します。

VB.NETでIronPDFは複雑なフォームデータを扱えますか?

はい、IronPDFは複雑なフォームデータを処理するように設計されており、VB.NETアプリケーションから正確で高品質なPDFドキュメントを生成できます。

VB.NETでフォームをPDFに変換することを学ぶためのチュートリアルはありますか?

はい、IronPDFのウェブサイトで利用可能なVB.NET フォームをPDFに印刷する開発者ガイドには、コード例やトラブルシューティングのヒントを含む包括的なチュートリアルがあります。

IronPDFを使用してフォームをPDFに変換する際に問題が発生した場合はどうすればよいですか?

IronPDF開発者ガイドには、フォームをPDFに変換する際によく遭遇する問題を解決するためのトラブルシューティングのヒントが含まれています。

VB.NET フォームを PDF に印刷する場合、IronPDF は .NET 10 と完全に互換性がありますか?

はい、IronPDF は .NET 10 と完全に互換性があります。.NET 10 をターゲットとする VB.NET および C# プロジェクトをサポートしているため、特別な回避策を講じることなく、フォームを PDF に変換し、.NET 10 の最新のパフォーマンスとランタイムの改善を活用できます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。