2016-06-09 185 views
0

我目前的工作是創建用於發送給客戶和作爲圖紙的機械圖紙。當我的繪圖完成後,我導出一個.pdf文件,並將其發送給客戶端。使用pdf打印機打印文檔

我們的客戶是黑白繪畫的大愛好者,所以我盡力爲他們提供。但是我用來繪製的軟件給出了一個不好的結果。它只有一個選項「所有顏色都是黑色的」,而且我的繪圖上有一些白色的「隱藏線條」。當然這些顯示使用所有顏色作爲黑色選項。

我找到了一個解決方案,並使用PDF打印機。效果很好,結果非常好。

現在我想用代碼打印這個.pdf。但我不知道如何做到這一點。

我的PDF打印機:「易PDF」的BullZip PDF打印機

+0

請參閱http://stackoverflow.com/questions/37714760/how-to-print-pdf-with-not-default-printer-with-code-vb-net – SSS

回答

0

我做了一個小工具,用於打印之前,以下男女同校將彈出連接/安裝在計算機上的打印機,你可以選擇你需要的一個。您需要的打印對話框添加到窗體,並做到這一點(你將不得不選擇對話框中的PDF打印機)

Dim dlgPrint As New PrintDialog 

    If dlgPrint.ShowDialog() = Windows.Forms.DialogResult.OK Then 

     Dim objPrinterName As New PrinterSettings 

     objPrinterName.PrinterName = dlgPrint.PrinterSettings.PrinterName 
     UpdateLabel(objPrinterName.PrinterName.ToString, objPrinterName.DefaultPageSettings.PaperSize.ToString) 

    End If 

我有一個標籤的形式來顯示所選擇的打印機。然後我用這個

 printFont = New Font("Courier New", 10) 
     Dim pd As New PrintDocument() 
     AddHandler pd.PrintPage, AddressOf Me.pd_PrintPage 
     pd.PrinterSettings.PrinterName = Label2.Text 
     pd.Print() 

打印頁面哪些格式的頁面,你可以忽略現在用戶要求另一個事件打印頁面。

+0

當用戶按下「PDF」時,打印應該發起並且不應該做任何事情。我可以提供printername硬編碼,從圖紙中讀取文件名,紙張大小和修訂版。 –

+0

試試這個,Process.Start(「C:\ Program Files \ Tracker Software \ PDF Viewer \ pdfxcview.exe」,「/ print:printer =」「」&printerName&「」「」「」&pdfFile&「」 「)它取自[這裏](http://www.vbforums.com/showthread.php?662405-RESOLVED-Printing-PDF-Files) – Leprechaun