Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Drucken - kleinste Papiergröße bei Benutzerspezifischen Paper (https://www.delphipraxis.net/198390-drucken-kleinste-papiergroesse-bei-benutzerspezifischen-paper.html)

TKNU 29. Okt 2018 22:43

Drucken - kleinste Papiergröße bei Benutzerspezifischen Paper
 
Hallo zusammen,

aktuell arbeite ich an einem Projekt, bei dem es u.a. um die Ausgabe von Etiketten mit wechselndem Papierformaten an verschiedene Drucker und PDF-Treiber geht.

Das Setzen der Papiergröße habe ich die API Funktion DocumentProperties gelöst. Funktioniert einwandfrei.

Es gibt aber bei allen Drucken ein Mindestmaß bei der Seitenbreite und -höhe. Bei Adobe PDF oder PDF Creator sind dies z.B. 25.4 mm.

Gibt es eine API, mit der diese Mindestgröße abgefragt werden kann?

Danke schon mal.

Delphi.Narium 30. Okt 2018 07:46

AW: Drucken - kleinste Papiergröße bei Benutzerspezifischen Paper
 
Als Ansatz eventuell dashier?
https://docs.microsoft.com/de-de/win...docs/enumforms
https://docs.microsoft.com/de-de/win...cs/form-info-1
https://docs.microsoft.com/de-de/win...cs/form-info-2

p80286 30. Okt 2018 08:14

AW: Drucken - kleinste Papiergröße bei Benutzerspezifischen Paper
 
Wobei du beachten mußt, daß Windows nur die Information zurückgeben kann, die es vom Drucker bzw. dem Druckertreiber erhält. Auch wenn so gut wie jeder Druckerhersteller verspricht, daß sein Modell z.B. HP-PCL6 unterstützt, ist damit noch nicht gesagt, daß alle Funktionen wirklich im Sinne des Benutzers umgesetzt wurden.
Im Zweifel muß für jeden(s) Drucker(Modell) der entsprechende Wert falls er überhaupt existiert, ermittelt werden.

Gruß
K-H

Raible 31. Okt 2018 12:24

AW: Drucken - kleinste Papiergröße bei Benutzerspezifischen Paper
 
Code:
  WinSpool.DeviceCapabilities(Device, Port, DC_MINEXTENT, nil, DeviceMode);
könnte die Info liefern.

Zitat:

Returns a POINTS structure that contains the minimum paper size that the dmPaperLength and dmPaperWidth members of the printer driver's DEVMODE structure can specify. The x member of the POINTS structure contains the minimum dmPaperWidth value, and the y member contains the minimum dmPaperLength value.

TKNU 12. Nov 2018 20:08

AW: Drucken - kleinste Papiergröße bei Benutzerspezifischen Paper
 
Hallo zusammen,

danke für die Antworten und sorry für die späte Rückmeldung (krank).

Mit DeviceCapabilitiesA und DC_MINEXTENT habe ich die richtige Info bekommen. Vielen Dank nochmal.

LG


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz