AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Drucken

Ein Thema von Trebuh · begonnen am 9. Okt 2013 · letzter Beitrag vom 10. Okt 2013
Antwort Antwort
Trebuh

Registriert seit: 9. Okt 2013
Ort: Freiburg
5 Beiträge
 
Delphi XE Professional
 
#1

Drucken

  Alt 9. Okt 2013, 19:39
Hilfe,

Ich drucke mit Canvas z.B.
// Drucken Start
printer.begindoc;
...
szS:='Text';
Printer.Canvas.TextOut(100,100,szS);
...
// Drucken Ende
printer.enddoc;


Funktioniert alles super, ...

Nur bei einem Drucker (HP Color LaserJet, ...) werden pro ...TextOut(..) manchmal Rähmchen drumrum (z.B. um 'Text') ausgedruckt. (Rähmchen sind immer so groß wie die Druck-Elemente)

Wenn man den gleichen Ausdruck z.B. auf einen PDF-Drucker umleitet funktioniert alles.

Wer hat ähnliche Erfahrungen gemacht, wer hat auch mit so Rähmchen zu kämpfen ?

Gruss Trebuh
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: Drucken

  Alt 9. Okt 2013, 19:43
Ich habe in meinem Leben noch nicht auf diese Weise gedruckt. Ich verwende immer einen Report-Generator. Früher (gaaanz früher) war das Quickreport und mittlerweile FastReport. Würde ich mir an deiner Stelle auch angewöhnen. Sieht einfach besser aus. Es gibt FastReport auch in einer Free-Version. Kann dann nicht soviel, reicht aber dicke.

Ach ja: Dann hast Du nur dann Rähmchen, wenn Du welche haben willst
  Mit Zitat antworten Zitat
Trebuh

Registriert seit: 9. Okt 2013
Ort: Freiburg
5 Beiträge
 
Delphi XE Professional
 
#3

AW: Drucken

  Alt 9. Okt 2013, 20:30
QuickReport habe ich früher auch verwendet, da muss man mehr oder wenig die Druckelemente statisch auf ein Formular platzieren. Mit der Printer.Canvas.... kann man sehr dynamische Protokolle mit dem Progamm aus Daten erstellen.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Drucken

  Alt 9. Okt 2013, 20:40
Na ja. Alles, was tabellarisch ist, geht 1000x einfacher mit einem Reportdesigner, vielleicht wusstest Du das nicht. Und fast alles ist tabellarisch.

Aber auch Serienbriefe, Vertragstexte (je nach Option aus Bausteinen zusammengesetzt) usw. lassen sich einfacher, schneller und besser erstellen.

Aber wenn man anderes gewohnt ist...
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: Drucken

  Alt 9. Okt 2013, 21:01
Mit Druckertreibern da gibt es einiges was oft nicht geht, das gilt besonders für ältere Betriebsysteme.

Ansatzpunkte:

1. schaue bei HP, ob es eine neue Version für deinen Treiber gibt.

2. wenn es kein billig Drucker ist, so gibt es von HP einen Universaltreiber, dieser ist Zertifiziert und läuft i.d.R. Problemlos (ohne viele Bugs)

3. wenn alles nicht hilft, dann schau mal, ob es einen Treiber von Microsoft gibt (die bei Windows dabei sind), mit dem es dein Drucker tut.

Du wirst sehen deine Probleme werden verschwinden
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#6

AW: Drucken

  Alt 10. Okt 2013, 07:58
QuickReport habe ich früher auch verwendet, da muss man mehr oder wenig die Druckelemente statisch auf ein Formular platzieren.
Man kann bei Quickreport die Labels o.ä. durchaus zur Laufzeit verschieben oder dynamisch erzeugen. Ich habe damit einen einigermaßen flexiblen Report-Designer gebaut.
  Mit Zitat antworten Zitat
rwalper

Registriert seit: 6. Sep 2006
48 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Drucken

  Alt 10. Okt 2013, 08:29
Wenn Du schon "per Hand" druckst, dann achte darauf, dass Du immer alle Brush- und Pen-Properties initialisierst (im Zweifel auch zu Beginn jeder Druck-Routine).

Außerdem kann es vorkommen, dass Transparenzen je nach Druckertreiber (siehe #5) nicht korrekt ausgegeben werden, obwohl es z.B. auf dem Bildschirm gut aussieht.
Daher könntest Du (falls Transparenz nicht notwendig ist) den Hintergrund initialisieren:
Delphi-Quellcode:
  Canvas.Brush.Color := clWhite;
  Canvas.Brush.Style := bsSolid;
Und falls der Rahmen immer noch da ist, wäre das Folgende einen Versuch wert:
  Canvas.Pen.Color := clWhite;
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 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