Hallo,
ich habe eine kleine Software geschrieben. Nun möchte ich die Ausgabe drucken. Hierzu habe ich einen PDF/A Drucker installiert. Leider funktioniert der Druck nicht, d.h. es öffnet sich der Editor mit dem Inhalt (was er nicht soll), aber es gelangt nichts zum Drucker.
Aus diesem Grund habe ich ein kleines Test-Projekt erstellt. Hier möchte ich ein paar Zeilen an den Drucker senden. Diese funktioniert aber nur, wenn der Drucker auch der Standard-Drukcer ist.
Ich habe das Gefühl das " process.StartInfo.Arguments" ignoriert wird.
Auch ein "PrintTo" in "process.StartInfo.Verb = "print";" hat leider nichts gebracht.
Kann ich auch auf einen anderen Drucker als den Standard-Drucker (im stillen - also ohne dialoge) drucken ?
Freue mich von euren Ideen zu hören 😃 - hier der (Test)-Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PrintingTest
{
class Program
{
static void Main(string[] args)
{
Print();
}
public static void Print()
{
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.Refresh();
process.StartInfo.Arguments = "Brother DCP-J315W Printer";
process.StartInfo.CreateNoWindow = true;
//Standarddrucker
process.StartInfo.Verb = "print";
process.StartInfo.FileName = @"C:\Users\XXX\Documents\TestPrint.txt";
process.StartInfo.UseShellExecute = true;
process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
process.Start();
}
}
}
Hallo,
versuch mal mit
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = filename,
Verb = "PrintTo",
Arguments = "\"" + "Brother DCP-J315W Printer" + "\"",
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden
};
Process p = new Process();
p.StartInfo = startInfo;
p.Start();
if (p != null && p.HasExited == false)
p.Kill();
Viele Grüße