2016-06-09 186 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