Laden...

PDF-Dokumente mit Hilfe des Process Namespace oder anderen Komponenten ausdrucken

Erstellt von milohofmann vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.134 Views
M
milohofmann Themenstarter:in
14 Beiträge seit 2013
vor 5 Jahren
PDF-Dokumente mit Hilfe des Process Namespace oder anderen Komponenten ausdrucken

Hallo zusammen,
ich versuche seit Montag "PDF-Dokumente" (Labels/Etiketten) auf einen Etikettendrucker auszudrucken. Beim Versuch diese mit dem folgenden Code zu drucken erhalte ich immer nur die Hälfte der Daten auf den Etiketten. D.h. nur 2/3 der Daten auf den Etiketten werden gedruckt, der Rest nicht. Der Druck hört immer an der gleichen Stelle auf. Öffnet man jedoch das Dokument, ist dieses in Ordnung und vollständig. Druckt man es manuell über den Acrobat Reader kommen auch die Etiketten vollständig bedruckt raus, jedoch nicht automatisch direkt aus meiner Software.


      // Der Dateiname des PDF-Dokuments wird hier in lsLabel zurückgegeben
      string lsLabel = Program.goGlobalMethods.CreateGLSLabel(loOrder);
      ProcessStartInfo printProcessInfo = new ProcessStartInfo(lsLabel) {
        Verb = "PrintTo",
        Arguments = "\"ZDesigner GK420d\"",
        FileName = lsLabel,
        WindowStyle = ProcessWindowStyle.Normal
        //WindowStyle = ProcessWindowStyle.Hidden
      };

      Process printProcess = new Process();
      printProcess.StartInfo = printProcessInfo;
      printProcess.Start();

Weitere Versuche mit dem Webbrowser Steuerelement und der SHDocVw Komponente schlugen auch fehl:


    private void CreateGLSLabel() {
      this.webBrowser1.Navigate("file://" + lsNewPDFFileNameURL);
    }
    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
      object missing = Missing.Value;
      SHDocVw.WebBrowser wb = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance;
      wb.ExecWB(OLECMDID.OLECMDID_PRINT, OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, ref missing, ref missing);
    }

Habt Ihr vielleicht eine Idee? Ich habe hier bestimmt irgendwas übersehen oder auch nicht beachtet. 😕

Danke Euch vorab!

Viele Grüße,

Milo

H
523 Beiträge seit 2008
vor 5 Jahren

Das klingt für mich so, als würde beim Drucken über die Befehlszeile die Papiergröße oder eine andere Einstellung nicht richtig gesetzt.

M
milohofmann Themenstarter:in
14 Beiträge seit 2013
vor 5 Jahren

Das habe ich mir auch schon überlegt, aber daraus folgt, dass die Windows Standardeinstellungen des Druckers beim Druckprozess aus der Befehlszeile zurückgesetzt werden, oder? Jedoch passt die Seitenbreite, siehe angehängtes Bild.

M
milohofmann Themenstarter:in
14 Beiträge seit 2013
vor 5 Jahren

Ich habe nun noch ein bisschen tiefer geforscht. Aus irgendeinem Grund wurde die Seitenhöhe zurückgesetzt. Ich muss jetzt noch herausfinden von was. Aber ich denke, dass der Thread hier als erledigt angesehen werden kann.

Danke nochmal!

Viele Grüße,
Milo

H
523 Beiträge seit 2008
vor 5 Jahren

Falls Du die Ursache herausfindest, würde es mich sehr interessieren woran es lag 😃

M
milohofmann Themenstarter:in
14 Beiträge seit 2013
vor 5 Jahren

Natürlich werde ich die Lösung dann hier veröffentlichen.

Gruß,
Milo