meta data for this page
  •  

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

  1. Bsptext = "Das ist ein Text, der über dem Bild ausgedruckt wird."
  2. Call Druckausgabe
  3.  
  4. Sub Druckausgabe
  5. If FF_SelectPrinter() then
  6. Dim dblHeight, dblWidth
  7. Dim intPicWidth, intPicHeight
  8. Dim intPageWidth, intPageHeight
  9. Dim intTextHeight
  10. Dim xscal, Yscal, scal
  11. Dim Texthoehe
  12. Dim Rand20, Rand15, Rand04
  13.  
  14. Texthoehe = 4 ' Texthöhe in Millimeter festlegen
  15.  
  16. ' Breite & Höhe des Bildes ermitteln
  17. intPicWidth = FF_GetImageWidth()
  18. intPicHeight = FF_GetImageHeight()
  19.  
  20. ' Drucker vorbereiten
  21. FF_StartPrintPage()
  22.  
  23. ' Druckfläche ermitteln
  24. intPageWidth = FF_GetPrintablePixelX()
  25. intPageHeight = FF_GetPrintablePixelY()
  26.  
  27. ' Texthöhe errechnen
  28. intTextheight = FF_GetPrintTextHeight(Bsptext, Texthoehe * FF_GetPrinterPixelperInchX * 0.03937, 400, False, False, "Arial")
  29.  
  30. ' div Ränder vorbereiten
  31. Rand20 = 20 * FF_GetPrinterPixelperInchX * 0.03937
  32. Rand15 = 15 * FF_GetPrinterPixelperInchX * 0.03937
  33. Rand04 = 4 * FF_GetPrinterPixelperInchX * 0.03937
  34.  
  35. ' Druckbereich um die Ränder reduzieren
  36. intPageWidth = intPageWidth - Rand20 - 2 * Rand04
  37. intPageHeight = intPageHeight - 2 * Rand15
  38.  
  39. ' Skalierungsfaktor errechnen
  40. xscal = intPageWidth / intPicWidth
  41. yscal = intPageHeight / intPicHeight
  42. If xscal < yscal then
  43. scal = xscal
  44. else
  45. scal = yscal
  46. end if
  47.  
  48. ' Bildformat mit Skalierungsfaktor umrechnen
  49. intPicHeight = intPicHeight * scal
  50. intPicWidth = intPicWidth * scal
  51.  
  52. ' Ausgabe auf Drucker
  53. FF_PrintText Bsptext, Rand20 + Rand04, Rand15, intTextHeight, 0, 400, False, False, "Arial", 0
  54. FF_PrintImage Rand20, 0 + intTextheight * 2 + Rand15, intPicWidth, intPicHeight
  55.  
  56. ' Druck abschließen
  57. FF_EndPrintPage()
  58. End If
  59. End Sub