Einzelnen Beitrag anzeigen

rokli

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

PDF-Dateien drucken (viele)

  Alt 16. Nov 2022, 12:07
Moin,
wir müssen zwei mal am Tag, Morgens und Mittags, PDF-Dateien drucken, die von unserem ERP System erstellt werden.
Die PDF-Dateien liegen als einzelne Dateien in einer Netzwerkfreigabe auf einem Windows Server. In der Regel hat jedes Dokument eine DinA4 Seite Inhalt. Manchmal 2 Seiten. Der Inhalt ist Text und 2 Barcodes.
Es handelt sich um jeweils ca. 500 Seiten - die in einer definierten Reihenfolge ausgegeben werden müssen. Die Reihenfolge definiert ein SQL Statement, dass die gewünschte Sortierung erstellt und dann im Datensatz Informationen für den Speicherort und den Dateinamen bereitstellt.
Gedruckt wird das ganze auf einem Kyocera TASKalfa 4002i.
Gedruckt wird mit Foxit Reader, da der Adobe Acrobat Reader garnicht zum laufen zu bringen war.

Dazu haben wir einen Druckjob geschrieben, der in einer Schleife die Datenbank durchläuft und für jede Datei diese Prozedur aufruft:

Delphi-Quellcode:
procedure TfrmMain.p_PrintAndUpdate(cFileName, cDruckWeg : String);
// Neues Dateiprinten
const
   DprPath = '';
   OutPutPath = '';
var
   Parameters   : String;
   Dcc32Path   : String; // 'C:\Program Files (x86)\Foxit Software\Foxit Reader\Foxit Reader.exe';
begin
   Dcc32Path   := FoxitReader;
   Parameters   := '/p ' + cFileName;

   ShellExecAndWait(Dcc32Path , OutPutPath , Parameters ,'open', 1);
end;
Der SchellExecAndWait wird verwendet, weil sonst die Dokumente immer wieder durcheinander gedruckt wurden.

Seid ein paar Tagen haben wir das Problem, dass zwischendurch einseitige PDF-Dokumente zerstückelt werden, nur zur Hälfte gedruckt werden oder auch leere Blätter ausgegeben werden.

Habt Ihr ähnliche Anforderungen, so viel Dokumente auf einmal auszudrucken?
Wie habt Ihr das gelöst?
Wäre das zusammen-mergen von z. B. jeweils 100 PDF-Dokumenten zu einem einzigen neuen PDF-Dokument eine Option? Dann gäbe es nur noch 5 Druckerwarteschlagen-Einträge.

Danke für Tipps.
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