Deutsch
Forum

Druckerrand (nicht druckbarer Bereich)

 

Manfred
Barei
Hallo,

Habe ein Problem mit dem Druckerrand.
Ich bräuchte den nicht zu Bedruckenden Bereich eines Druckers,
Wie kann man diesen Wert ermitteln?, Profan oder API. :?:

Grus Manfred
[WIN XP Prof.NTME98] [Xprofan 8/9]
 
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
14.03.2005  
 



Ich bin mir nicht sicher ob ein Druckertreiber diese Informationen parat hat.

Generell würde ich aber sagen:

Links & Rechts & Oben 1cm
Unten 2cm

um auf Nummer sicher zu gehen.

Salve, iF
 
14.03.2005  
 




Andreas
Miethe


Es geht auch etwas genauer.

Sieh Dir mal diesen etwas aelteren Code an.

Gruss
Andreas
KompilierenMarkierenSeparieren
Def @AGetDeviceCaps(2) ! GDI32,GetDeviceCaps
Def @ACreateDC(4) ! GDI32,CreateDCA
Def @DeleteDC(1) ! GDI32,DeleteDC
Declare PDC&,APX!,APY!,PB!,PH!,POX!,POY!,DPIX!,DPIY!,PBMM!,PHMM!,RMM!
Declare PMAX!,PMAY!
Declare drv#,name#,port#
Declare device$,driv$,port$
Declare POR!,PUR!
Declare PLR!,PRR!

Proc GetPrinterDC

    Printer-DC ermitteln
    DIM drv#,200
    DIM name#,200
    DIM port#,200
    LET device$=@readini$(win.ini,windows,device)
    LET device$=@substr$(@readini$(win.ini,windows,device),1,,)
    LET driv$= @ADD$(@substr$(@readini$(win.ini,devices,device$),1,,),.drv)
    LET port$=@substr$(@readini$(win.ini,devices,device$),2,,)
    String name#,0=device$
    String drv#,0=driv$
    String port#,0=port$
    Let PDC&=@ACreateDC(drv#,name#,0,0)
    dispose drv#
    dispose name#
    dispose port#

EndProc

Proc Werte_Ermitteln

    Werte ermitteln
    Let APX!=@AGetDeviceCaps(PDC&,8)Ausgabebreite in Pixel
    Let APY!=@AGetDeviceCaps(PDC&,10)AusgabeHoehe in Pixel
    Let PB!=@AGetDeviceCaps(PDC&,110)Physikalische Breite
    Let PH!=@AGetDeviceCaps(PDC&,111)Physikalische Hoehe
    Let POX!=@AGetDeviceCaps(PDC&,112)Offset X
    Let POY!=@AGetDeviceCaps(PDC&,113)Offset Y
    Let DPIX!=@AGetDeviceCaps(PDC&,88)DPI X
    Let DPIY!=@AGetDeviceCaps(PDC&,90)DPI Y
    Let PBMM!=@AGetDeviceCaps(PDC&,4)Ausgabebreite in mm
    Let PHMM!=@AGetDeviceCaps(PDC&,6)Ausgabehoehe in mm

EndProc

Proc Ausgabe

    Werte ausgeben
    UseFont Arial,18,0,1,0,0
    Drawtext 10,0,add$(Standard-Drucker : ,Device$)
    UseFont Courier New,15,0,0,0,0

    if @equ(@AGetDeviceCaps(PDC&,2),2) then

        Drawtext 10,20,Rasterdrucker

    endif

    Decimals 0
    Drawtext 10,60,Add$(Ausgabebreite in Pixel         :  ,str$(APX!))
    Drawtext 340,60,Add$(Ausgabehöhe in Pixel         :  ,str$(APY!))
    Drawtext 10,80,Add$(Physikalische Breite in Pixel  :  ,str$(PB!))
    Drawtext 340,80,Add$(Physikalische Höhe in Pixel  :  ,str$(PH!))
    Drawtext 10,100,Add$(Physikalische Offset X         :  ,str$(POX!))
    Drawtext 340,100,Add$(Physikalische Offset Y       :  ,str$(POY!))
    Drawtext 10,120,Add$(Aufloesung Breite (DPI)        :  ,str$(DPIX!))
    Drawtext 340,120,Add$(Aufloesung Höhe (DPI)        :  ,str$(DPIY!))
    Drawtext 10,140,Add$(Ausgabebreite in mm            :  ,str$(PBMM!))
    Drawtext 340,140,Add$(Ausgabebreite in mm          :  ,str$(PHMM!))
    UseFont Arial,18,0,1,0,1
    DrawText 10,180,Aus diesen ermittelten Werten lassen sich die Druckränder
    DrawText 10,200,für den Standard-Drucker errechnen
    UseFont Courier New,15,0,0,0,0
    DrawText 10,240,ADD$(Linker Rand in Pixel   :  ,STR$(POX!))
    DrawText 340,240,ADD$(Rechter Rand in Pixel  :  ,STR$(SUB(SUB(PB!,APX!),POX!)))
    DrawText 10,260,ADD$(Oberer Rand in Pixel   :  ,STR$(POY!))
    DrawText 340,260,ADD$(Unterer Rand in Pixel  :  ,STR$(SUB(SUB(PH!,APY!),POY!)))
    Decimals 1
    Let PLR!=ROUND(MUL(DIV(PBMM!,APX!),POX!),1)
    Let PRR!=ROUND(MUL(DIV(PBMM!,APX!),SUB(SUB(PB!,APX!),POX!)),1)
    Let POR!=ROUND(MUL(DIV(PHMM!,APY!),POY!),1)
    Let PUR!=ROUND(MUL(DIV(PHMM!,APY!),SUB(SUB(PH!,APY!),POY!)),1)
    DrawText 10,280,ADD$(Linker Rand in mm      :  ,STR$(PLR!))
    DrawText 340,280,ADD$(Rechter Rand in mm     :  ,STR$(PRR!))
    DrawText 10,300,ADD$(Oberer Rand in mm      :  ,STR$(POR!))
    DrawText 340,300,ADD$(Unterer Rand in mm     :  ,STR$(PUR!))
    Decimals 0
    DrawText 10,340,ADD$(Blattgrösse X in mm    :  ,STR$(ADD(ADD(PBMM!,PLR!),PRR!)))
    DrawText 340,340,ADD$(Blattgrösse Y in mm    :  ,STR$(ADD(ADD(PHMM!,POR!),PUR!)))
    Textcolor rgb(255,0,0),rgb(192,192,192)
    UseFont Courier New,16,0,1,0,0

    If GT(APX!,APY!)

        Drawtext 10,40,Querformat

    else

        Drawtext 10,40,Hochformat

    endif

    Textcolor rgb(255,255,0),rgb(192,192,192)
    UseFont Arial,14,0,1,0,0
    Drawtext 10,360,BEACHTE : Die errechneten Werte hängen von der Auflösung und der Papiersorte bzw. Papiergrösse ab,
    Drawtext 10,380,die in der Druckereinstellung vorgenommen wurde !

EndProc

SetTruecolor 1
cls rgb(192,192,192)
Textcolor rgb(0,0,0),rgb(192,192,192)
UseFont Arial,18,0,1,0,1
UseCursor 2
Drawtext 10,410,Ermittle Werte für den Standard-Drucker
GetPrinterDC
Werte_ermitteln
Rectangle 0,8-630,356
Ausgabe
UseFont Arial,18,0,1,0,1
Textcolor rgb(255,0,0),rgb(192,192,192)
Drawtext 10,410,Werte für den Standard-Drucker ermittelt
UseCursor 0
waitinput
@DeleteDC(PDC&)Printer-DC freigeben
end
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
14.03.2005  
 



Ja unser ApiMeister hat mal wieder zugeschlagen. Respekt!

Salve, iF
 
14.03.2005  
 




Manfred
Barei
Hallo,

Was würden wir bloß ohne unsere API-Gurus machen? :?:

Jo, Danke Andreas genau das habe ich gesucht.

Grus aus der Heide von Manfred
 
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
17.03.2005  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.583 Betrachtungen

Unbenanntvor 0 min.
rquindt24.04.2020
GDL26.03.2016
Frank Tretter23.03.2012
Stephan Sonneborn02.06.2011
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

Manfred Barei (2x)
iF (2x)
Andreas Miethe (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie