4

私はいくつかのテストを実行し、いくつかの異なるレポートを生成するアプリを書いています。これらは、ラベル、エンドカスタマー用のPDF、修理部門用のPDF、XMLファイルなどの任意の組み合わせにすることができます。

レポートの種類に応じて、ファイルをファイルシステムまたはさまざまなプリンター(A4、ラベルなど)のいずれかに送信する必要があります。理想的には、ポップアップウィンドウはなく、紙に直接表示する必要があります。

ファイル(PDF、XML)をプリンターに送信するにはどうすればよいですか?XML / Textの場合は、File.Copy to LPTnだけでよいと思っていましたが、うまくいかないようです。PDFの場合、PDFを印刷するためのいくつかのパラメーターを使用してAcrobatを呼び出すことができると思います。

私が使用しているプリンターはLPTnにマップされています。これを行い、定義をアプリに保存するためのより良い方法はありますか?つまり、ラベルはMyLabelPrinterに送られ、A4PDFはMyA4Printerに送られます。

誰かがこれをしましたか?

4

2 に答える 2

9
ProcessStartInfo info = new ProcessStartInfo("[path to your file]");
info.Verb = "PrintTo";
info.Arguments = "\"[printer name]\"";
info.CreateNoWindow = true;
info.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(info);
于 2012-08-20T14:34:37.147 に答える
2

このウェブページを見てください。PDF について探している情報が見つかるはずです。たとえば、次のようになります。

    ProcessStartInfo infoOnProcess = new ProcessStartInfo("C:/example.pdf");
    info.Verb = "PrintTo";
    //Put a if there, if you want to change printer depending to file extension
    info.Arguments = "\"HP-example-Printer\"";
    info.CreateNoWindow = true;
    info.WindowStyle = ProcessWindowStyle.Hidden;
    Process.Start(infoOnProcess);
于 2012-08-20T14:36:10.607 に答える