2016-04-09 56 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

すべての私たちのPCのアクロバットリーダーが装備されますが、印刷のためのより良い方法がある場合は?私は提案に開放されています!

私は立ち往生しています!


私もthisポストから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(); 
      } 
     } 

でこのサンプルコードを発見しました。プリントキューが完了するまでアイドル状態にする方法はありますか?プロセスを強制終了しますか?

+0

が重複する可能性を[VB.netで外部PDF文書を印刷する](http://stackoverflow.com/questions/26970825/printing-an-external-pdf-document-in-vb-net) – ChristopheD

答えて

0

AcrobatやFoxitReaderなどのデフォルトのPDFリーダーを使用して、ファイルを開いて印刷することは簡単です。 これは、C#のコードです:

  1. あなたのPDFファイルのフルパスを取得:

    それはデフォルトのPDFリーダー使用してオープン
    String fullpath =System.IO.Path.GetFullPath(@FilePath); 
    
  2. :の

    Process.Start(@fullpath); 
    
関連する問題