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

IronPrintを使用してAdobeなしでVB .NETでPDFを印刷する方法

.NETでPDFドキュメントを印刷するには、Adobe Readerやその他のサードパーティ製ソフトウェアをインストールすることなく、レンダリング、プリンターとの通信、設定管理を処理するライブラリが必要です。 IronPrintは、Windows、macOS、Linux、およびモバイルプラットフォームで動作するクリーンなAPIによってこの問題を解決します。 このガイドでは、パッケージのインストールから一般的な印刷エラーの対処方法まで、すべての手順を詳しく説明しているので、VB .NETアプリケーションにPDF印刷機能を迅速かつ確実に追加できます。

このチュートリアルを終える頃には、サイレント印刷の方法、Windowsの印刷ダイアログの表示方法、DPIや用紙の向きなどのカスタム設定の適用方法、利用可能なプリンターの列挙方法、そして例外処理を適切に行う方法がわかるようになります。

VB .NETプロジェクトにIronPrintをインストールするにはどうすればよいですか?

IronPrintのインストールは、 NuGetパッケージマネージャーを使えば数秒で完了します。 Visual Studioのパッケージマネージャーコンソールを開いて、実行してください:

Install-Package IronPrint

インストール後、印刷が必要なファイルの先頭に名前空間のインポートを追加し、 IronPrintのメソッドを呼び出す前にライセンスキーを適用してください。

Imports IronPrint

' Apply your license key (get a free trial key at ironsoftware.com)
License.LicenseKey = "YOUR-LICENSE-KEY"
Imports IronPrint

' Apply your license key (get a free trial key at ironsoftware.com)
License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

IronPrintは、 .NET Framework 4.6.2以降、および.NET 6、7、8、9、10を対象としています。各プラットフォーム向けにネイティブのレンダリングエンジンが同梱されているため、Adobe Acrobat、Ghostscript、またはその他のPDFレンダラーをインストールする必要はありません。 同じNuGetパッケージは、Windows Forms、WPF、コンソール アプリケーション、および VB .NETで記述されたASP.NETプロジェクトで動作します。

サポートされているドキュメント形式は、PDF、PNG、HTML、TIFF、GIF、JPEG、およびBMPです。IronPrint統合印刷APIIronPrintで、すべての機能を確認できます。

ライセンスおよびアクティベーションに関する詳細については、 IronPrintライセンスキーのドキュメントをご覧ください。

.NETでPDFをサイレント印刷するにはどうすればよいですか?

サイレント印刷では、ダイアログボックスを表示せずに文書を直接プリンターに送信します。 このモードは、自動化されたワークフロー、一括請求書処理、レポート生成パイプライン、およびユーザーが存在しないサーバー側でのドキュメント印刷に不可欠です。

Microsoft for .NETでの GDI+ 印刷に関するドキュメントによると、従来 for .NET印刷では、PrintDocument オブジェクトを作成し、PrintPage イベントにフックし、ページ レイアウトを手動で処理する必要があります。 IronPrintは、そういった定型文をすべて排除します。

Imports IronPrint

Module SilentPrinting
    Sub Main()
        Dim pdfPath As String = "invoice.pdf"

        ' Print to the system default printer
        Printer.Print(pdfPath)

        ' Print to a specific printer by name
        Dim settings As New PrintSettings()
        settings.PrinterName = "Microsoft Print to PDF"
        Printer.Print(pdfPath, settings)
    End Sub
End Module
Imports IronPrint

Module SilentPrinting
    Sub Main()
        Dim pdfPath As String = "invoice.pdf"

        ' Print to the system default printer
        Printer.Print(pdfPath)

        ' Print to a specific printer by name
        Dim settings As New PrintSettings()
        settings.PrinterName = "Microsoft Print to PDF"
        Printer.Print(pdfPath, settings)
    End Sub
End Module
$vbLabelText   $csharpLabel

Printer.Print メソッドは、すべての PDF レンダリングを内部的に処理します。 Printer.Print(pdfPath)PrintSettings 引数なしで呼び出すと、 IronPrint はシステムのデフォルトプリンタを自動的に選択します。 PrintSettings オブジェクトに PrinterName 値を指定すると、ジョブはその特定のデバイスにルーティングされます。

バッチ処理の場合、ファイルパスのリストをループして、それぞれに対して Printer.Print を呼び出すことができます。 IronPrintはサイレント印刷のためにUIスレッドを開かないため、コンソールアプリケーション、Windowsサービス、およびASP.NETリクエストハンドラーで正しく動作します。

利用可能なオプションの詳細については、 IronPrintの印刷設定に関するドキュメントを参照してください。

印刷前に印刷ダイアログを表示するにはどうすればよいですか?

印刷ジョブを実行する前に、ユーザーにプリンターを選択させたり、ページ範囲を調整させたり、印刷部数を設定させたりする必要がある場合があります。 IronPrint はまさにこのシナリオのために Printer.ShowPrintDialog を提供します。

Imports IronPrint

Module DialogPrinting
    Sub Main()
        ' Display the standard Windows print dialog
        Printer.ShowPrintDialog("report.pdf")
    End Sub
End Module
Imports IronPrint

Module DialogPrinting
    Sub Main()
        ' Display the standard Windows print dialog
        Printer.ShowPrintDialog("report.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

このメソッドが実行されると、Windows は標準の印刷ダイアログを表示します。 ユーザーは、インストールされている任意のプリンターを選択し、ページ範囲を指定し、コピー部数を選択し、両面印刷の設定を調整できます。 ユーザーが"印刷"または"キャンセル"をクリックすると、制御はあなたのコードに戻ります。

この方法は、Windows Formsアプリケーションに自然に統合できます。 ボタンのクリックハンドラから呼び出すことができ、そのダイアログはユーザーが既に使い慣れている他のWindowsアプリケーションと一貫した動作をすることを信頼できます。

VB .NET IronPrintを使用して Adob​​e を開かずに PDF を印刷する : 画像 1 - 印刷ダイアログ

印刷ダイアログの使用例ページには、ダイアログを開く前にプリンターを事前に選択したり、印刷部数を事前に入力したりするなど、その他の使用例が示されています。

.NETでPDF印刷設定をカスタマイズするにはどうすればよいですか?

PrintSettings クラスを使用すると、印刷ジョブのあらゆる側面を完全にプログラムで制御できます。 印刷ジョブが印刷キューに到達する前に、DPI、用紙サイズ、向き、部数、印刷先プリンターなどを設定できます。

Imports IronPrint

Module CustomPrintSettings
    Sub Main()
        Dim settings As New PrintSettings() With {
            .Dpi = 300,
            .NumberOfCopies = 2,
            .PaperOrientation = PaperOrientation.Landscape,
            .PaperSize = PaperSize.A4,
            .PrinterName = "Office Printer"
        }

        Printer.Print("document.pdf", settings)
    End Sub
End Module
Imports IronPrint

Module CustomPrintSettings
    Sub Main()
        Dim settings As New PrintSettings() With {
            .Dpi = 300,
            .NumberOfCopies = 2,
            .PaperOrientation = PaperOrientation.Landscape,
            .PaperSize = PaperSize.A4,
            .PrinterName = "Office Printer"
        }

        Printer.Print("document.pdf", settings)
    End Sub
End Module
$vbLabelText   $csharpLabel

主要な印刷設定プロパティを理解する

Dpi プロパティは出力解像度を制御します。 300という値は、Professional文書における標準的な値です。 600は、高品質のグラフィックやエンジニアリング図面に適しています。 150などの低い値は、品質よりも速度が重要な下書き印刷に役立ちます。

NumberOfCopies は、プリンターに1回のジョブで何部印刷するかを指示します。 この値を3に設定することは、ユーザーがCtrl+Pを押してコピー数フィールドに3を入力するのと同等ですが、UI操作なしでコードから制御できます。

PaperOrientationPaperOrientation.Portrait または PaperOrientation.Landscape を受け入れます。 横向きで作成されたPDFファイルを誤った向きで表示すると、コンテンツが切り取られたり、縮小されたりする原因となります。 これを明示的に設定することで、出力がドキュメントのデザインと一致することが保証されます。

PaperSize は、PaperSize.Letter、および PaperSize.Legal などの標準サイズを受け入れます。 これは、印刷環境において異なるサイズの用紙がセットされた用紙トレイが混在している場合に重要です。

正しいプリンター名を選択する

PrinterName という文字列は、大文字小文字やスペースを含め、Windows に登録されているプリンター名と完全に一致する必要があります。 実行時に有効な名前のリストを取得するには、Printer.GetPrinterNames() (次のセクションで説明します) を使用します。

より高度なカスタマイズオプションについては、高度な印刷カスタマイズ機能のページをご覧ください。

プログラムでプリンタを列挙して選択するにはどうすればよいですか?

Enterprise環境では、ワークステーションは数十台のネットワークプリンタにアクセスできることが多い。 IronPrintを使えば、利用可能なすべてのプリンターを簡単に一覧表示し、実行時に適切なプリンターを選択できます。

Imports IronPrint

Module PrinterManagement
    Sub Main()
        ' Retrieve all available printers
        Dim printers As List(Of String) = Printer.GetPrinterNames()

        Console.WriteLine($"Found {printers.Count} printer(s):")
        For Each printerName As String In printers
            Console.WriteLine($"  - {printerName}")
        Next

        ' Print to the first available printer
        If printers.Count > 0 Then
            Dim settings As New PrintSettings()
            settings.PrinterName = printers(0)
            Printer.Print("document.pdf", settings)
        Else
            Console.WriteLine("No printers found. Check system configuration.")
        End If
    End Sub
End Module
Imports IronPrint

Module PrinterManagement
    Sub Main()
        ' Retrieve all available printers
        Dim printers As List(Of String) = Printer.GetPrinterNames()

        Console.WriteLine($"Found {printers.Count} printer(s):")
        For Each printerName As String In printers
            Console.WriteLine($"  - {printerName}")
        Next

        ' Print to the first available printer
        If printers.Count > 0 Then
            Dim settings As New PrintSettings()
            settings.PrinterName = printers(0)
            Printer.Print("document.pdf", settings)
        Else
            Console.WriteLine("No printers found. Check system configuration.")
        End If
    End Sub
End Module
$vbLabelText   $csharpLabel

Printer.GetPrinterNames() は、Windows の印刷サブシステムにクエリを実行し、ローカル USB プリンター、ネットワーク プリンター、Microsoft Print to PDF などの仮想プリンター、およびサードパーティ ソフトウェアを通じてインストールされたプリンター ドライバーなど、現在のユーザーがアクセスできるすべてのプリンターを返します。

文書を適切なプリンターにルーティングする

複数のプリンターを使用する環境では、大きな文書は高速な部門用プリンターに、小さな文書は近くのデスクトッププリンターに印刷するように設定したい場合があります。このような処理は、文書のページ数やファイルサイズを確認し、リストから適切なプリンター名を選択することで実現できます。

VB .NET IronPrintを使用して Adob​​e を開かずに PDF を印刷する : 画像 2 - プリンターの選択

プリンター情報機能に関するドキュメントを読んで、プリンターの状態や既定の用紙トレイなど、照会できるその他のプロパティについて確認してください。

.NETで印刷エラーを処理するにはどうすればいいですか?

印刷処理コードは、エラーを適切に処理できなければならない。 ファイルパスが間違っているか、プリンターがオフラインになっているか、ユーザーアカウントに印刷権限がない可能性があります。 印刷呼び出しを構造化された例外処理で囲むことで、未処理の例外によってアプリケーションがクラッシュするのを防ぐことができます。

Imports IronPrint
Imports System.IO

Module ErrorHandling
    Sub Main()
        Dim filePath As String = "document.pdf"

        If Not File.Exists(filePath) Then
            Console.WriteLine("PDF file not found. Verify the path and try again.")
            Return
        End If

        Try
            Dim settings As New PrintSettings()
            settings.PrinterName = "Office Printer"
            Printer.Print(filePath, settings)
            Console.WriteLine("Print job sent successfully.")
        Catch ex As Exception
            Console.WriteLine($"Printing failed: {ex.Message}")
        End Try
    End Sub
End Module
Imports IronPrint
Imports System.IO

Module ErrorHandling
    Sub Main()
        Dim filePath As String = "document.pdf"

        If Not File.Exists(filePath) Then
            Console.WriteLine("PDF file not found. Verify the path and try again.")
            Return
        End If

        Try
            Dim settings As New PrintSettings()
            settings.PrinterName = "Office Printer"
            Printer.Print(filePath, settings)
            Console.WriteLine("Print job sent successfully.")
        Catch ex As Exception
            Console.WriteLine($"Printing failed: {ex.Message}")
        End Try
    End Sub
End Module
$vbLabelText   $csharpLabel

よくあるエラーとその修正方法

以下の表は、最も頻繁に発生する印刷エラーとその解決策を示しています。

.NETにおけるPDF印刷の一般的なエラーとその解決策
エラー 原因 ソリューション
プリンターが見つかりません プリンター名がWindowsレジストリエントリと一致しません `Printer.GetPrinterNames()`を呼び出し、返された名前をそのまま使用してください。
印刷された白紙ページ ファイルパスが無効、またはPDFファイルが破損しています。 `File.Exists`を使用してパスを検証し、PDF をビューアで開いて整合性を確認してください。
印刷品質が悪い DPI設定が低すぎる `PrintSettings.Dpi` 300以上に設定してください。
アクセスが拒否されました 印刷権限が不足しています 対象プリンターで印刷権限を持つユーザーアカウントでアプリケーションを実行してください。
プリンターがオフラインです ネットワークまたはデバイスの接続の問題 Windowsの"デバイスとプリンター"でプリンターの状態を確認し、再接続後に再度お試しください。

VB .NET IronPrintを使用して Adob​​e を開かずに PDF を印刷する : 画像 3 - エラーの例

トラブルシューティングに関する詳細なガイダンスについては、 IronPrintのエンジニアリングリクエストおよびトラブルシューティングガイドを参照するか、 Iron Softwareのテクニカルサポートにお問い合わせください。

.NETでPDF生成と印刷を組み合わせるにはどうすればよいですか?

一般的なワークフローでは、実行時にPDFを生成し、それをすぐに印刷します。たとえば、データベースのレコードから請求書を作成し、それをプリンターに送信する作業を1ステップで行います。IronPDFPDFの作成を処理し、 IronPrintは出力処理を処理します。

IronPDFとIronPrintを組み合わせる理由とは?

IronPDFは、HTML、ASPX、および既存のドキュメントを、適切な形式のPDFファイルに変換します。 IronPrintは、PDFファイルがメモリに読み込まれるかディスクに保存されると、Adobe Readerを必要とせずにプリンターにファイルを送信します。 どちらのライブラリも同じ NuGet ベースのデプロイメント モデルを採用しているため、2 つのパッケージを追加し、生成から印刷までのパイプライン全体を網羅する簡単な VB .NETコードを記述するだけで済みます。

このアプローチは特に以下のような場合に効果的です。

-請求書と領収書の印刷- HTMLテンプレートからPDFを生成し、すぐに印刷します -レポート生成- データベースクエリの結果をフォーマット済みのPDFに変換し、オンデマンドで印刷します。 -ラベルとバーコードの印刷- バーコード生成にIronBarcode 、出力にIronPrintを組み合わせる -文書の一括処理- レコードをループ処理し、レコードごとに1つのPDFを生成し、それぞれを順番に印刷する

VB .NETでHTMLからPDFを生成する方法については、 IronPDF for VB .NETのドキュメントを参照してください。

W3C の印刷メディアクエリの仕様によると、CSS ルールによる印刷レイアウトの制御は、HTML から印刷へのワークフローの標準的なアプローチです。 IronPDFはレンダリング時にこれらのCSSルールを尊重するため、 IronPrintがプリンターに送信する前に、生成されるPDFには正しい余白、改ページ、サイズが設定されます。

複数ページを印刷し、ページ範囲を制御するにはどうすればよいですか?

大きな文書を印刷する場合、特定のページだけを印刷する必要があるかもしれません。例えば、50ページのレポートのうち、1ページ目から5ページ目までを印刷する場合などです。 IronPrint の PrintSettings クラスはページ範囲の設定をサポートしています。

ページ範囲の設定

PrintSettings オブジェクト内で開始ページと終了ページを指定できます。 ページ番号は1から始まる番号で、標準的な印刷ダイアログでユーザーが期待する慣例に合致しています。 ページ範囲を指定しない場合、 IronPrintは文書全体を印刷します。

ページ範囲印刷は、特に大量印刷環境において、破損したページ1枚を再印刷する方が文書全体を再印刷するよりも速い場合に非常に役立ちます。 NumberOfCopies と組み合わせることで、どのページの何部が出力トレイに送られるかを正確に制御できます。

ページ範囲を含む PrintSettings プロパティの完全なリストについては、 IronPrint印刷設定のハウツーガイドを参照してください。

グレースケール印刷

一部のプリンターは、文書にカラーコンテンツが含まれていない場合でも、デフォルトでカラー出力を行うため、トナーやインクを無駄に消費します。 PrintSettings を介してグレースケール出力を強制できます。 この設定はWindowsとmacOSの両方の環境で利用可能で、PDFだけでなく、サポートされているすべてのドキュメント形式で機能します。

IronPrintの機能概要には、各プラットフォームで使用可能なすべての印刷設定とその例が記載されています。

次のステップは何ですか?

これで、VB .NETアプリケーションでPDF印刷を行うための構成要素が揃いました。

-サイレント印刷-- Printer.Print(path) 自動化されたワークフロー向け -ダイアログ印刷-- Printer.ShowPrintDialog(path) ユーザー制御ジョブ用

  • DPI、向き、コピー数、プリンター選択などのカスタム設定-- PrintSettings -プリンタ列挙-- Printer.GetPrinterNames() 動的プリンタルーティング用 -エラー処理-- 事前ファイル検証による構造化例外処理 -ワークフローの組み合わせ-- 生成にはIronPDF 、出力にはIronPrintを使用

これらの機能を活用するには、IronPrintの無料トライアルを開始し、以下の追加リソースをご覧ください。

IronPrint入門ガイド- セットアップ手順の詳細 -ダイアログの例を含む印刷-- ダイアログのカスタマイズパターン -高度な印刷設定機能-- 設定の完全なリファレンス -プリンタ情報機能-- プリンタのプロパティの照会

よくある質問

IronPrintとは何か?

IronPrint は、Adobe Reader やその他の依存関係を必要とせずに、VB .NETで PDF ドキュメントを印刷するプロセスを簡素化するライブラリです。

IronPrint はどのようにして VB .NETでの PDF 印刷を容易にするのでしょうか?

IronPrint は、Windows、macOS、モバイル デバイスなど、複数のプラットフォームで機能する簡単な方法を提供することで、VB .NETでの PDF 印刷を可能にします。

IronPrintでサイレント印刷はできますか?

はい、 IronPrint はサイレント印刷をサポートしており、ダイアログ ボックスを表示したりユーザーの操作を必要とせずに PDF ドキュメントを印刷できます。

IronPrint はモバイル プラットフォームと互換性がありますか?

はい、 IronPrintは Windows、macOS、モバイル プラットフォームで動作するように設計されており、PDF 印刷アプリケーションに柔軟性を提供します。

IronPrintには外部の依存関係が必要ですか?

いいえ、 IronPrintは依存性のないソリューションです。つまり、VB .NETで PDF を印刷するのに Adob​​e Reader などの追加ソフトウェアは必要ありません。

IronPrint は従来の PDF 印刷方法に比べてどのような利点がありますか?

IronPrint は、複雑な回避策や外部依存関係を必要とせず、簡素化された効率的な PDF 印刷プロセスを提供し、 .NETアプリケーションへの統合を容易にします。

IronPrintで印刷設定をカスタマイズできますか?

はい、 IronPrint はPrintSettings クラスを通じて印刷設定をカスタマイズするオプションを提供しており、開発者は DPI、用紙の向き、コピー数、プリンターの選択を制御できます。

IronPrint はVB .NETアプリケーションの PDF 印刷プロセスをどのように改善しますか?

IronPrint は、追加のソフトウェアを必要とせずに、さまざまなプラットフォーム間で印刷するための単一の使いやすい方法を提供することで、PDF 印刷プロセスを改善します。

IronPrint はクロスプラットフォーム開発に適していますか?

はい、 IronPrint はWindows、macOS、Linux、モバイル プラットフォームでの印刷をサポートしているため、クロスプラットフォーム開発に適しています。

IronPrint は開発者にどのようなサポートを提供していますか?

IronPrint は、詳細なドキュメント、コード例、テクニカル サポート アクセスを通じて開発者をサポートし、スムーズな開発エクスペリエンスを保証します。

カーティス・チャウ
テクニカルライター

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

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

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね