Formular ausfüllen - Zeichenabstand

  • Hallo,

    gibt es eine Möglichkeit, einen definierten Zeichenabstand in einem Dokument einzugeben?
    Ich muss ein Formular bedrucken. Leider habe ich die Vorgabe, dass bei Feldern mit Zahlen (z.B. Datumsangaben) genau in die vorgegebenen Kästchen gedruckt werden muss. Dies ist nötig, weil die "Empfängerseite" des Formulars das Ding automatisch einscannt/einliest.
    Ich muss also eine Möglichkeit finden, genau in die Kästchen zu drucken.

    Ich hatte überlegt, im OnPaintWatermark den Text selbst auf das Canvas zu malen. Allerdings handelt es sich um MailMerge-Dokument. Das heißt, auf der 2. Seite stehen andere Daten, als auf der 1. Seite (usw). Ich kann zwar im OnPaintWatermark die Seitennummer abfragen, doch dann müsste ich eine Verbindung zu entsprechenden Datensatz herstellen und die Daten von dort laden. Da wäre erstens ein Erheblicher Aufwand zu implementieren und es wäre nicht sonderlich performant.

    Haben Sie vielleicht eine Idee, wie ich das löse?

    Vielen Dank!
    Jens Tönsing

    • Offizieller Beitrag

    Hallo,

    Die Idee mit OnPaintWatermark ist nicht schlecht. Ideal wäre aber das OnTextObjectPaint event. Sie können also ein Textobjekt definieren welches mit dem Inhalt eines Datenfeldes gerdruckt wird.

    Code
    procedure TForm1.WPRichText1TextObjectPaint(Sender: TObject;
      pobj: TWPTextObj; toCanvas: TCanvas; XRes, YRes, X, Y, W, H,
      BASE: Integer; PageRef: TWPVirtPage; Modes: TWPTextObjectPaintModes;
      const CanvasExtraAttr: TWPPaintExtraParams;
      var ContinueMode: TWPTextObjectPaintResult);
    begin
    ...
    end;

    Beste Grüsse,
    Julian Ziersch