跳至頁尾內容
USING IRONPRINT

如何使用 IronPrint 在 VB.NET 中列印 PDF

在VB.NET中列印PDF文件過去比較複雜,通常需要依賴Adobe Reader或使用麻煩的解決方案。 IronPrint提供了一個簡單且無依賴的解決方案來改變這種情況。 它可以在Windows、macOS和移動平台上運行。 在VB.NET中列印PDF變得如同呼叫一個方法一樣簡單。

本指南將展示如何靜默列印、顯示Windows列印對話框、自定義設定及在VB.NET中管理多台列印機。

如何開始使用IronPrint?

通過NuGet Package Manager安裝IronPrint只需幾秒。 在Visual Studio中打開您的套件管理員控制台,然後執行:

Install-Package IronPrint

安裝完成後,通過匯入命名空間和應用您的授權金鑰來配置您的專案,如下程式碼片段所示:

Imports IronPrint
' Apply your license key (get a free trial key from Iron Software website)
License.LicenseKey = "YOUR-LICENSE-KEY"
Imports IronPrint
' Apply your license key (get a free trial key from Iron Software website)
License.LicenseKey = "YOUR-LICENSE-KEY"
Imports IronPrint

' Apply your license key (get a free trial key from Iron Software website)
License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

IronPrint支持.NET Framework 4.6.2+和所有現代.NET版本(5, 6, 7, 8+),確保與舊版和先進的VB.NET PDF列印專案的相容性。 程式庫通過它的統一列印API支持無縫處理PDF、PNG、HTML、TIFF、GIF、JPEG和BMP格式。

如何在VB.NET中靜默列印PDF文件?

靜默列印允許自動列印PDF文件而不需要使用者交互,非常適合自動化工作流程和批量處理。 根據Microsoft對於.NET中列印的文件,傳統方法需要複雜的PrintDocument實現。 這是使用IronPrint列印PDF文件的方法:

Imports IronPrint
Module PrintingExample
    Sub Main()
        Dim pdfPath As String = "invoice.pdf"
 ' Print PDF to default printer in VB.NET
        Printer.Print(pdfPath)
        ' Create a PrintSettings object
        Dim settings As New PrintSettings()
        settings.PrinterName = "Microsoft Print to PDF" ' exact printer name
        ' Print PDF to a specific printer programmatically
        Printer.Print(pdfPath, settings)
    End Sub
End Module
Imports IronPrint
Module PrintingExample
    Sub Main()
        Dim pdfPath As String = "invoice.pdf"
 ' Print PDF to default printer in VB.NET
        Printer.Print(pdfPath)
        ' Create a PrintSettings object
        Dim settings As New PrintSettings()
        settings.PrinterName = "Microsoft Print to PDF" ' exact printer name
        ' Print PDF to a specific printer programmatically
        Printer.Print(pdfPath, settings)
    End Sub
End Module
Imports IronPrint

Module PrintingExample
    Sub Main()
        Dim pdfPath As String = "invoice.pdf"
        ' Print PDF to default printer in VB.NET
        Printer.Print(pdfPath)
        ' Create a PrintSettings object
        Dim settings As New PrintSettings()
        settings.PrinterName = "Microsoft Print to PDF" ' exact printer name
        ' Print PDF to a specific printer programmatically
        Printer.Print(pdfPath, settings)
    End Sub
End Module
$vbLabelText   $csharpLabel

此程式碼展示了如何直接將載入的PDF文件發送到列印機隊列,而不顯示任何對話框。 Print方法自動使用系統的預設列印機。 否則,在列印設定中設置特定列印機名稱並在列印PDF文件時使用它,允許您指定究竟要使用哪台列印機。

IronPrint在內部處理所有複雜的PDF渲染,消除了對Adobe Acrobat Reader或其他外部依賴的需求。 對於更高級的場景,請查看列印設定文件

如何在列印前顯示列印對話框?

有時使用者在將文件發送到列印機前需要控制列印設定。 IronPrint的ShowPrintDialog方法顯示熟悉的Windows列印對話框。 這讓您可以選擇希望用於您的列印作業的列印機。

Imports IronPrint
Module DialogPrinting
    Sub Main()
        ' Show print dialog for PDF printing in VB.NET
        Printer.ShowPrintDialog("report.pdf")
    End Sub
End Module
Imports IronPrint
Module DialogPrinting
    Sub Main()
        ' Show print dialog for PDF printing in VB.NET
        Printer.ShowPrintDialog("report.pdf")
    End Sub
End Module
Imports IronPrint

Module DialogPrinting
    Sub Main()
        ' Show print dialog for PDF printing in VB.NET
        Printer.ShowPrintDialog("report.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

這種方法讓使用者能夠通過標準Windows介面,對列印機選擇、頁面範圍、拷貝數量和其他設置進行全面控制。 此方法在使用者列印或取消對話框後返回,便於整合到現有的Windows Forms應用程式中。 有關更多對話框選項,請參見列印對話框範例

如何使用IronPrint在VB.NET中列印PDF:圖 1 - 列印對話框

如何自定義PDF列印設定?

IronPrint通過PrintSettings類提供細粒度的列印設定控制。 您可以以程式化的方式配置您的VB.NET PDF列印需求中的方向、DPI、份數等:

Imports IronPrint
Module CustomPrintSettings
    Sub Main()
        ' Create custom print settings for PDF printing in VB.NET
        Dim settings As New PrintSettings() With {
            .Dpi = 300,
            .NumberOfCopies = 2,
            .PaperOrientation = PaperOrientation.Landscape,
            .PaperSize = PaperSize.A4,
            .PrinterName = "Office Printer"
        }
        ' Apply settings when printing PDF programmatically
        Printer.Print("document.pdf", settings)
    End Sub
End Module
Imports IronPrint
Module CustomPrintSettings
    Sub Main()
        ' Create custom print settings for PDF printing in VB.NET
        Dim settings As New PrintSettings() With {
            .Dpi = 300,
            .NumberOfCopies = 2,
            .PaperOrientation = PaperOrientation.Landscape,
            .PaperSize = PaperSize.A4,
            .PrinterName = "Office Printer"
        }
        ' Apply settings when printing PDF programmatically
        Printer.Print("document.pdf", settings)
    End Sub
End Module
Imports IronPrint

Module CustomPrintSettings
    Sub Main()
        ' Create custom print settings for PDF printing in VB.NET
        Dim settings As New PrintSettings() With {
            .Dpi = 300,
            .NumberOfCopies = 2,
            .PaperOrientation = PaperOrientation.Landscape,
            .PaperSize = PaperSize.A4,
            .PrinterName = "Office Printer"
        }
        ' Apply settings when printing PDF programmatically
        Printer.Print("document.pdf", settings)
    End Sub
End Module
$vbLabelText   $csharpLabel

這些設置讓您完全控制PDF列印過程。 Dpi屬性保證專業文件的高質量輸出,而NumberOfCopies則消除了手動迴圈的需求。 設定PaperOrientation和PaperSize,可確保PDF文件無論其原始格式如何都能正確列印。 瞭解更多有關高級列印自定義的資訊。

如何選擇和管理列印機?

IronPrint通過GetPrinterNames方法使列印機的發現和選擇變得簡單:

Imports IronPrint
Module PrinterManagement
    Sub Main()
        ' Get all available printers for VB.NET PDF printing
        Dim printers As List(Of String) = Printer.GetPrinterNames()
        ' Display available printers
        For Each printerName As String In printers
            Console.WriteLine($"Found printer: {printerName}")
        Next
        ' Print PDF to first available printer
        If printers.Count > 0 Then
            Printer.PrintToPrinter("document.pdf", printers(0))
        End If
    End Sub
End Module
Imports IronPrint
Module PrinterManagement
    Sub Main()
        ' Get all available printers for VB.NET PDF printing
        Dim printers As List(Of String) = Printer.GetPrinterNames()
        ' Display available printers
        For Each printerName As String In printers
            Console.WriteLine($"Found printer: {printerName}")
        Next
        ' Print PDF to first available printer
        If printers.Count > 0 Then
            Printer.PrintToPrinter("document.pdf", printers(0))
        End If
    End Sub
End Module
Imports IronPrint

Module PrinterManagement
    Sub Main()
        ' Get all available printers for VB.NET PDF printing
        Dim printers As List(Of String) = Printer.GetPrinterNames()
        ' Display available printers
        For Each printerName As String In printers
            Console.WriteLine($"Found printer: {printerName}")
        Next
        ' Print PDF to first available printer
        If printers.Count > 0 Then
            Printer.PrintToPrinter("document.pdf", printers(0))
        End If
    End Sub
End Module
$vbLabelText   $csharpLabel

這一功能允許在多列印機環境中動態選擇列印機,使應用程式根據可用性或文件型別智能路由文件至適當的列印機。 探索更多列印機資訊功能

如何使用IronPrint在VB.NET中列印PDF:圖 2

常見問題和解決方案有哪些?

在VB.NET中實現PDF列印時,開發人員經常遇到這些常見問題:

問題:"找不到列印機"錯誤

使用GetPrinterNames()確保列印機名完全匹配。 列印機名稱區分大小寫,必須精確匹配Windows的註冊表項。

問題:PDF以空白頁形式列印

確保PDF文件路徑正確且文件未損壞。 為了可靠性,使用絕對路徑並在列印前驗證文件的可存取性。

問題:列印品質差

在PrintSettings中將DPI設定提高到300或更高,以獲得專業品質的輸出。 預設設定可能使用較低解析度以加快處理速度。

問題:存取被拒絕錯誤

以適當權限運行您的應用程式,並確保使用者帳戶對目標列印機具有列印權限。

' Robust error handling for VB.NET PDF printing
Try
    If System.IO.File.Exists("document.pdf") Then
        Printer.Print("document.pdf")
    Else
        MessageBox.Show("PDF file not found")
    End If
Catch ex As Exception
    MessageBox.Show($"Printing failed: {ex.Message}")
End Try
' Robust error handling for VB.NET PDF printing
Try
    If System.IO.File.Exists("document.pdf") Then
        Printer.Print("document.pdf")
    Else
        MessageBox.Show("PDF file not found")
    End If
Catch ex As Exception
    MessageBox.Show($"Printing failed: {ex.Message}")
End Try
Imports System.IO
Imports System.Windows.Forms

' Robust error handling for VB.NET PDF printing
Try
    If File.Exists("document.pdf") Then
        Printer.Print("document.pdf")
    Else
        MessageBox.Show("PDF file not found")
    End If
Catch ex As Exception
    MessageBox.Show($"Printing failed: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

如何使用IronPrint在VB.NET中列印PDF:圖 3 - 範例錯誤

如需額外的故障排除協助,請參閱全面的故障排除指南或聯絡Iron Software的技術支援

結論

IronPrint簡化了VB.NET中的PDF列印,將一個複雜的挑戰轉化為簡單的任務。 只需幾行程式碼,您就可以實現靜默列印,顯示列印對話框,自定義設置和管理多台列印機。 為了完整的文件工作流程,IronPrint與IronPDF無縫整合,這是一個功能強大的PDF程式庫,允許您以程式化方式生成PDF並立即列印,都在同一應用中的進行。

準備好在您的VB.NET應用程式中簡化PDF列印了嗎? 立即開始免費試用,體驗專業級列印能力,並享有全方位技術支援。

常見問題

如何使用 VB.NET 列印 PDF 文件?

using IronPrint,在 VB.NET 中列印 PDF 文件很簡單。您只需調用一個方法,無需擔心像 Adobe Reader 這樣的依賴。

IronPrint需要任何外部依賴嗎?

不,IronPrint 提供了一種無依賴方案來列印 PDFs,使其更易於整合到您的 .NET 應用程式中。

IronPrint 是否與 macOS 的 PDF 列印相容?

是的,IronPrint 可在 Windows、macOS 和移動平台上無縫運行,允許您在VB.NET中跨不同操作系統列印PDF。

我可以在 VB.NET 中使用 IronPrint 自定義列印設置嗎?

是的,IronPrint 允許您實現自定義列印設置,包括靜默列印和對話框選項,為您的 .NET 應用程式提供靈活性。

與其他 PDF 列印方案相比,IronPrint 的獨特之處是什麼?

IronPrint 提供了一種簡單而高效的 PDF 列印解決方案,無需 Adobe Reader 或複雜的替代方案,使其易於 VB.NET 開發者使用。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話