1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63:
| procedure Tfrm_mdi_uebersicht.cmd_druckenClick(Sender: TObject); var i_Anz, i, j: integer; sl_PDF: TStringList; s_PDFFeld: string; pdf_feld: TgtPDFFormField; begin for I := 0 to fg_anzeigen.F_RowCount -1 do begin if trim(fg_anzeigen.GetCellText(col_drucken, i)) = 'J' then begin sl_PDF := TStringList.Create; sl_PDF.Delimiter := '|'; sl_PDF.QuoteChar := '°'; sl_PDF.StrictDelimiter := true; cmd_Drucken.Enabled := false;
Erstelle_PDFSList( sl_PDF, -1, 'firma', 'TestFirma');
PDF.LoadFromFile('Vorlagen\test.pdf'); i_anz := PDF.GetFormFieldCount; if i_Anz> 0 then begin pdf_Feld := PDF.GetPDFFormField( 1); s_pdfFeld := pdf_Feld.FieldName; if Pos('[0]', s_PDFFeld) > 0 then begin for j:=0 to sl_PDF.Count -1 do begin sl_PDF.Strings[j] := sl_PDF.Names[j] + '[0]' + '=' + sl_PDF.ValueFromIndex[j]; end; end; end;
sl_PDF.Free; PDFView.PDFDocument := PDF; PDFView.Active := true; PDFPrint.PDFDocument := PDF; PDFPrint.PrintDoc; PDFView.Active := False;
cmd_Drucken.Enabled := true; end; end; end;
procedure Erstelle_PDFSList( var sl: TStringList; i_nr: integer; s_Name, s_Wert: string); var i_Pos: integer; begin while Pos('''', s_wert) > 0 do begin i_Pos := Pos('''', s_wert); system.delete( s_Wert, i_Pos, 1); system.insert( sl.QuoteChar, s_Wert, i_Pos); end; if i_Nr >= 0 then s_Name := s_Name + IntToStr( i_Nr); if sl.Count = 0 then sl.DelimitedText := s_Name + '='+ s_Wert else sl.DelimitedText := sl.DelimitedText + sl.Delimiter + s_Name + '=' + s_Wert; end; |