2013-06-26 123 views
1

當我打印在C#與PDFsharp PDF文件與此代碼如下PDFsharp:打印時如何擺脫Adobe Reader?

  printDocument1.PrinterSettings = printDialog1.PrinterSettings; 
      PdfFilePrinter.AdobeReaderPath = @"C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe"; 
      PdfFilePrinter printer = new PdfFilePrinter(pdfFilename, printDocument1.PrinterSettings.PrinterName); 

      try 
      { 
       printer.Print(); 
      } 
      catch (Exception ex) 
      {      
       throw new NotImplementedException(); 
      }     

,一切都很好,在打印過程中,但有一件事我不喜歡的是AdobeReader彈出。 如何通過代碼關閉此彈出窗口?

請幫忙。

回答

1

PdfFilePrinter類使用Process.Start來啓動Adobe Reader。你可以玩ProcessStartInfo選項,也許你可以得到你想要的行爲(啓動最小化或沒有窗口等)。

PDFsharp是開源的,PdfFilePrinter類包含在源碼包中。 IIRC此課程是在Adobe Reader 5或6的日子開發的。也許Adobe Reader 10或XI可以通過略微修改的方式進行更好的調用。

我沒有時間親自嘗試,但如果您設法改善您的問題,我希望聽到您的消息。

或者是打印後關閉Adobe Reader的問題?這會更困難,因爲您必須查明Reader何時完成打印。

+0

我會試試你的建議,並讓你知道我是否完成了它?非常感謝。 – Kumpon

+1

我嘗試過使用ProcessStartInfo,但結果是一樣的。它不能被幫助,但是,我已經忽略了這個問題。再次感謝您的建議。 – Kumpon