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.