Einzelnen Beitrag anzeigen

rokli

Registriert seit: 21. Mär 2009
Ort: Rödinghausen
301 Beiträge
 
Delphi 10.4 Sydney
 
#27

AW: PDF-Dateien drucken (viele)

  Alt 18. Nov 2022, 15:18
Hallo alle zusammen!

Die Software von Jan läuft sehr gut.

Mein Fehler in der ersten Version wahr wohl tastächlich, dass ich die Dateinamen in einerm Array zur Verfügung gestellt habe. Es hätte aber wohl eine Semikolon separierte CSV Datei sein sollen, die dann als Input Liste dem AConverter.ToPdf zur Verfügung gestellt werden muss.

Zum Nachvollziehen die beiden wesentlichen Proceduren:

Delphi-Quellcode:
procedure TfrmGsTst.Button1Click(Sender: TObject);
var
  AConverter: TGS_PdfConverter;
  AFiles: string;
begin

   M_Output.Clear;

   sQuelle      := 'C:\Temp\pdffen\quell\';
   sZiel         := 'C:\Temp\pdffen\';
   sDll         := 'C:\Temp\pdffen\';

  AConverter := TGS_PdfConverter.Create(sDll);
  FLogFile := TStringList.Create;
  try
    try
      AConverter.OnStdOut := Log; // komplette Debug Ausgabe
      AConverter.OnStdError := Log;
      {$IFDEF DEBUG}
      AConverter.Debug := True; // Das kannst du später entfernen
      {$ENDIF}
      AFiles :=   sQuelle + '0174163013.pdf;' +
                  sQuelle + '0174163020.pdf;' +
                  sQuelle + '0174164010.pdf;' +
                  sQuelle + '0174164027.pdf;' +
                  sQuelle + '0174164034.pdf;' +
                  sQuelle + '0174164041.pdf;' +
                  sQuelle + '0174164065.pdf;' +
                  sQuelle + '0174164072.pdf;' +
                  sQuelle + '0174164089.pdf;' +
                  sQuelle + '0174164096.pdf;' +
                  sQuelle + '0174164119.pdf;' +
                  sQuelle + '0174165024.pdf;' +
                  sQuelle + '0174165031.pdf;' +
                  sQuelle + '0174165048.pdf;' +
                  sQuelle + '0174165055.pdf;' +
                  sQuelle + '0174165062.pdf;' +
                  sQuelle + '0174166014.pdf;' +
                  sQuelle + '0174167011.pdf;' +
                  sQuelle + '0174167028.pdf;' +
                  sQuelle + '0174167035.pdf;' +
                  sQuelle + '0174167042.pdf;' +
                  sQuelle + '0174167059.pdf;' +
                  sQuelle + '0174167066.pdf;' +
                  sQuelle + '0174167073.pdf;' +
                  sQuelle + '0174167080.pdf;' +
                  sQuelle + '0174167097.pdf;' +
                  sQuelle + '0174167103.pdf;' +
                  sQuelle + '0174167110.pdf;' +
                  sQuelle + '0174167127.pdf;' +
                  sQuelle + '0174167134.pdf;' +
                  sQuelle + '0174167141.pdf;' +
                  sQuelle + '0174167158.pdf;' +
                  sQuelle + '0174168018.pdf;' +
                  sQuelle + '0174168025.pdf;' +
                  sQuelle + '0174168032.pdf;' +
                  sQuelle + '0174169015.pdf;' +
                  sQuelle + '0174170011.pdf';

      if (not AConverter.ToPdf(AFiles.Split([';']), sZiel + 'New01.pdf', False)) then
      begin
        ShowMessage('Fehler: ' + AConverter.LastErrors);
        FLogFile.SaveToFile(sZiel + 'output.log');
      end else
        ShowMessage('Convertierung abgeschlossen!');

    except
      on E: Exception do
        ShowMessage('Fehler: ' + E.Message);
    end;
  finally
    FreeAndNil(AConverter);
    FreeAndNil(FLogFile);
  end;
end;

procedure TfrmGsTst.Log(const AStr: string);
begin
  (* hier bekommst du die gefilterten informationen + debug information *)

  // als output in einem Memo
  M_Output.Lines.Text := M_Output.Lines.Text + AStr;
  // als output in eine Datei
  FLogFile.Text := FLogFile.Text + AStr;
  // scroll down
  M_Output.SelStart := Length(M_Output.Lines.Text);
  M_Output.SelLength := 0;
end;
Meinen besondereren Dank and Jan, der sich viel Mühe mit mir gegeben hat.

Allen ein schönes Wochenende

Beste Grüße
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney
  Mit Zitat antworten Zitat