function ExportPDF(FilePath, FileName:
string): Boolean;
begin
Result := dmReport.frxReport1.
Export(dmReport.frxPDFExport1);
if Result
then
begin
try
if not FGhostscript.PDFShrink(FilePath + FileName)
then // Fehler über Event
begin
Result := False;
end;
except
Result := False;
end;
end;
end;
...
if AllowPrint
and dmReport.frxReport.PrepareReport(True)
then
begin
FillReportPDF;
// Vorgaben PDF
ExportPDF(Print.PDF.FilePath, Print.PDF.FileName);
// Archiv
Print.IsReceiptCopy := True;
// + "Kopie" -> das 2. Mal :-(
dmReport.FillReportVariable('
IsReceiptCopy', Print.IsReceiptCopy);
// im Report wird das Feld eingeblendet/ausgeblendet
if dmReport.frxReport.PrepareReport(True)
then
begin
FillReportTransus;
// Vorgaben Dienstleister
if ExportPDF(Print.Transus.FilePath, Print.Transus.FileName)
then // Transus
begin
if Transus.ExportXML(Print.Receipt, Print.Transus.FilePath)
then // schreiben XML
begin
if Print.Transus.WithAttachments
then
begin
if CopyAttachments(Print.Transus.FilePath)
then // Kopie der Anhänge PDF 2-5 Anhänge 120KB je PDF Seite, Schnitt = 3 Seiten je Anhang
begin
WriteMiscToDB(Print.ID);
// DB Einträge setzen
WriteSendToDB(dmReport.frxReport1.ReportOptions.
Name, sdtFolder);
// DB Einträge setzen
end;
end;
end;
if Assigned(FOnPrintConfirmation)
then
begin
FOnPrintConfirmation(Self, ReportType, Print, FFileList);
// nur wenn benötigt, in diesem Falle nicht eingehängt
end;
end;
end;
end;