Drucken


Um Bilder auszudrucken, stellt FF eine Reihe von Skriptbefehlen zur Verfügung, die sehr flexible Möglichkeiten bieten.
Das folgende Beispiel zeigt das exemplarische Vorgehen.

VBScript
Bsptext = "Das ist ein Text, der über dem Bild ausgedruckt wird."
Call Druckausgabe
 
Sub Druckausgabe
    If FF_SelectPrinter() then
        Dim dblHeight, dblWidth
        Dim intPicWidth, intPicHeight
        Dim intPageWidth, intPageHeight
        Dim intTextHeight
        Dim xscal, Yscal, scal
        Dim Texthoehe
        Dim Rand20, Rand15, Rand04
 
        Texthoehe = 4                ' Texthöhe in Millimeter festlegen

        ' Breite & Höhe des Bildes ermitteln
        intPicWidth = FF_GetImageWidth()
        intPicHeight = FF_GetImageHeight()
 
        ' Drucker vorbereiten
        FF_StartPrintPage()
 
        ' Druckfläche ermitteln
        intPageWidth = FF_GetPrintablePixelX()
        intPageHeight = FF_GetPrintablePixelY()
 
        ' Texthöhe errechnen
        intTextheight = FF_GetPrintTextHeight(Bsptext, Texthoehe * FF_GetPrinterPixelperInchX * 0.03937, 400, False, False, "Arial")
 
        ' div Ränder vorbereiten
        Rand20 = 20 * FF_GetPrinterPixelperInchX * 0.03937
        Rand15 = 15 * FF_GetPrinterPixelperInchX * 0.03937
        Rand04 = 4 * FF_GetPrinterPixelperInchX * 0.03937
 
        ' Druckbereich um die Ränder reduzieren
        intPageWidth = intPageWidth - Rand20 - 2 * Rand04
        intPageHeight = intPageHeight - 2 * Rand15
 
        ' Skalierungsfaktor errechnen
        xscal = intPageWidth / intPicWidth
        yscal = intPageHeight / intPicHeight
        If xscal < yscal then
            scal = xscal
        else
            scal = yscal
        end if
 
        ' Bildformat mit Skalierungsfaktor umrechnen
        intPicHeight = intPicHeight * scal
        intPicWidth = intPicWidth * scal
 
        ' Ausgabe auf Drucker
        FF_PrintText Bsptext, Rand20 + Rand04, Rand15, intTextHeight, 0, 400, False, False, "Arial", 0
        FF_PrintImage Rand20, 0 + intTextheight * 2 + Rand15, intPicWidth, intPicHeight
 
        ' Druck abschließen
        FF_EndPrintPage()
    End If
End Sub