WPViewPDF: Seitenüberschrift drucken

  • Moin,

    ich versuche gerade eine Seitenüberschrift beim Ausdruck vom PDF-Dateien zu drucken, aber es kommt nichts!

    Quellcode:

    // z.B. für Beispiel für dynamisches Drucken von PDF'S

    procedure PrintPDF(APrinterIndex: Integer; AFileName: String; APrintTitle: String);

    var

    vForm: TForm;

    vWpViewPDF: TWPViewPDF;

    begin

    vForm := TForm.Create(nil);

    vForm.Visible := False;

    vWpViewPDF := TWPViewPDF.Create(vForm);

    vWpViewPDF.Parent := vForm;

    try

    vWpViewPDF.filename := AFileName;

    vWPViewPDF.BeginPrint(Printer.Printers[APrinterIndex]);

    vWpViewPDF.CommandStr(COMPDF_SetPrintTitle, APrintTitle); // Hierum geht's: COMPDF_SetPrintTitle !!!

    vWPViewPDF.PrintPages(1, vWpViewPDF.PageCount);

    vWPViewPDF.EndPrint;

    finally

    FreeAndNil(vWpViewPDF);

    FreeAndNil(vForm);

    end;

    end;

    Was mache ich falsch?

    ...und gibt es evtl. ein paar Delphi-DEMOs, die sich mit der Drucksteuerung beschäftigen (z.B. Umschalten auf A3-Druck, bin-Ansteuerung, in Druckbereich einpassen etc.).

    Heute habe ich Ihr Beispiel aus dem Handbuch Seite 145 (Kapitel 6.7.2) eingegeben...als Ausdruck kommt auch nur eine leere Seite!

    VG

    Bernd

    2 Mal editiert, zuletzt von KingSoft (20. November 2018 um 16:56)

  • OK, nächster Versuch für eine geladene PDF eine Überschrift (HEADER) zu drucken:

    PDF: TWPViewPDF;
    ………..


    procedure TfrmMain.mnuDruckClick(Sender: TObject);

    var

    i : Integer;

    b : Boolean;

    cText : string;

    begin

    cText := 'Auftrag 4711';

    with dlgPrint do begin

    MinPage := 1;

    MaxPage := PDF.PageCount;

    FromPage := 1;

    ToPage := PDF.PageCount;

    if Execute then begin

    PDF.BeginPrint(Printer.Printers[Printer.PrinterIndex]);

    // gibt es hier PDF-Commands für das Drucken einer Überschrift Links Mittig Rechts etc. ???

    PDF.PrintPages(dlgPrint.FromPage, dlgPrint.ToPage);

    PDF.EndPrint;

    end;

    end;

    end;

    Das Beispiel funktioniert soweit, bis auf die Überschriften.

    Bitte mit kurzem Beispiel, Danke.

  • Danke für den Hinweis, aber ohne Beispiel in Delphi kann ich damit nichts anfangen...Bitte.

    In der Dokumentation stehen immer nur die Rudimentären Befehlsstrukturen der einzelnen Kommandos,

    aber wie man die sinnvoll einsetzt fehlt an allen Ecken und Enden.

    • Offizieller Beitrag

    Ein Ausschnitt aus der Demo "PDFEdit"

    Hier wird ein Editor für den stamp text verwendet, man kann den Text von oben natürlich direkt zuweisen.

    Code
    var StampScript : String = '@cleartext' + #13 + 
    'PageNo=ALL' + #13 +
    '115,14=Hier steht eine Kopfzeile';
    
    WPViewPDF1.CommandStrEx(  COMPDF_StampText,  StampScript, 0  );
  • OK, das funktioniert.

    Danke.

    Aber ich werde für das Drucken einer Überschrift doch wohl eher die Funktion "pdfPrintW" mit den Optionen nutzen.

    Damit kann man besser z.B. oben links den Benuzternamen, rechts das Druckdatum und am Seitenende eine eventuelle

    Seitennummerirung drucken.

    Grüße aus Hannover