2016-04-09 173 views
0

我正在構建一個主要功能是打印.pdf文件的應用程序。 我搜索了很多,並找不到我需要的東西,所以這裏是我的問題。VB.net - 用紙張大小的打印機打印pdf文件

我想創建一個方法,用選定的打印機和紙張尺寸打印.pdf文件。 (我們有一臺繪圖儀,從A0到A3圖紙),因此批量中可以有不同大小的大範圍。

Public Sub print_pdf(byval document as string, byval printer as string, byval size as string)

我發現這個類似的帖子,但..它寫在c#,我不能讀它..我只熟悉vb.net。

Link to post

我們所有的電腦都配備了Acrobat Reader軟件,但如果是打印一個更好的方法?我接受建議!

請幫助..我卡住了!


我也發現了這個示例代碼c#

string path = "" <- your path here. 
    if (path.EndsWith(".pdf")) 
     { 
      if (File.Exists(path)) 
      { 
       ProcessStartInfo info = new ProcessStartInfo(); 
       info.Verb = "print"; 
       info.FileName = path; 
       info.CreateNoWindow = true; 
       info.WindowStyle = ProcessWindowStyle.Hidden; 
       Process p = new Process(); 
       p.StartInfo = info; 
       p.Start(); 
       p.WaitForInputIdle(); 
       System.Threading.Thread.Sleep(3000); 
       if (false == p.CloseMainWindow()) 
        p.Kill(); 
      } 
     } 

this後。有沒有辦法空閒,直到打印隊列完成?然後打印一個殺死進程?

+0

可能的複製[在VB.net中打印外部PDF文檔](http://stackoverflow.com/questions/26970825/printing-an-external-pdf-document-in-vb-net) – ChristopheD

回答

0

您可以使用默認的PDF閱讀器如Acrobat或FoxitReader,打開文件然後打印它,這很簡單。 這是C#代碼:

  1. 得到您的PDF文件的完整路徑:

    String fullpath =System.IO.Path.GetFullPath(@FilePath); 
    
  2. 使用默認的PDF閱讀器打開它:的

    Process.Start(@fullpath);