Ändern Sie das Standardpapierformat des Druckers

Auf einem Drucker sind mehrere benutzerdefinierte Papierformate definiert (der Drucker ist standardmäßig eingestellt). Ich muss eines dieser Formate als Standardformat auswählen können.

Eine programmatische (C #) Lösung wäre ideal, aber eine Befehlszeile wäre auch in Ordnung.

Derzeit kann ich die Liste der im Drucker definierten Papierformate (Name / Abmessungen) abrufen und herausfinden, welches das Standardformat ist.

Um ein anderes Format als Standard zu wählen, ist die einzige Lösung, die ich bisher habe, die Änderung desdmPaperSize Feld auf derdevMode Struktur; ABER ich kann den korrekten Wert nicht herausfinden, der dem gewünschten Papierformat entspricht. Also habe ich gesetztdmPaperSize auf 0 setzen und inkrementieren, bis das richtige Format auf dem Drucker angezeigt wird. Dies dauert bei einigen Druckern sehr lange.

Gibt es eine andere Möglichkeit, das Standard-Papierformat auf dem Standarddrucker (namentlich) auszuwählen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage