Ich bin etwas verwirrt beim wenn ich den Export nach PDF und die Zusammenführung kombiniere.
Wenn ich nur ein Bericht im pdf exportiere, funktioniert er.
ExportConfiguration exportConfiguration = new ExportConfiguration(LlExportTarget.Pdf, sPdfFullPath, projectFilename);
LL.Export(exportConfiguration);
Wenn ich zwei Berichte zusammenfassen möchte, erhalte ich eine Fehlermeldung, wenn ich diese Codezeile durchführe
LL.Export (exportConfiguration1);
Hier ist mein Code:
ExportConfiguration exportConfiguration1 = new ExportConfiguration (_exporterTarget, sPdfFullPath, projectFilename); LL.Export(exportConfiguration1);
ExportConfiguration exportConfiguration2 = new ExportConfiguration (_exporterTarget, sPdfFullPath, projectFilename); LL.Export(exportConfiguration2);
PreviewFile project1LL = new new PreviewFile(@"S:\PDF\Project2LL.ll", false);
PreviewFile project2LL = new PreviewFile(@"S:\PDF\Project2LL.ll", true);
project1LL.Append(project2LL);
project1LL.ConvertTo(@"S:\PDF\report.pdf");
project2LL.Dispose();
project1LL.Dispose();
ppreuschoff
(combit Support - Patrick Preuschoff)
2
Leider kann ich das Verhalten nicht reproduzieren - der nachfolgende Code funktioniert innerhalb einer Testumgebung wunderbar.
Vielen Dank für die Antwort, Ihr Beispiel funktioniert perfekt.
Ich habe es noch nicht so gut verstanden, weil es manchmal fängt die “catch” Block, trotzdem funktioniert es.
Noch eine Frage bitte: Kann man die Zusammenführung dynamisch einstellen?
zB wenn ich ein Report Array zum konvertieren und zusammenfassen habe. Hier ist mein Code, den ich versuche, an ein Array von Strings (Berichtsname) anzupassen.
foreach(string reportName in arrDataienNamen) {
ExportConfiguration exportConfiguration1 = new ExportConfiguration(_exporterTarget, sllFullName, sReportFullName);
LL.Export(exportConfiguration1);
if(notFirst == false) {
PreviewFile projectLL = new PreviewFile(sllFullName, notFirst);
PreviewFile lastProjectLL = new PreviewFile(sllFullName, notFirst);
notFirst = true;
}
else {
PreviewFile project_N_LL = new PreviewFile(sllFullName);
PreviewFile lastProjectLL = new PreviewFile(sllFullName);
lastProjectLL.Append(project_N_LL);
lastProjectLL.ConvertTo(sPdfFullPath);
}
Ich dachte an ein Unterstützungsprojekt (lastProjectLL)
Ich muss leider korrigieren, was ich gestern gesagt habe, weil die Beispielanwendung aus irgendeinem Grund einen Fehler ausgibt.
Ich habe versucht, mir vollständige Berechtigungen für den Ordner “C:\temp” zu erteilen, das Ergebnis ändert sich jedoch nicht.
ppreuschoff
(combit Support - Patrick Preuschoff)
5
Da Sie parallel einen Support-Case zu dem Thema geöffnet haben, schlage ich vor, dass wir die Kommunikation ins Support-Portal verlagern und anschließend die mögliche Lösung hier im Forum posten. Ich würde diese Aufgabe gerne nach Abschluss des Support-Cases übernehmen, wenn nichts dagegen spricht
ppreuschoff
(combit Support - Patrick Preuschoff)
6
Im Rahmen des Support-Cases wurde eine Beispielanwendung (C#, LL24) erstellt, welche das Problem lösen konnte. Folgender Code wurde verwendet:
List<string> reportPaths = new List<string>() ;
List<string> previewNames = new List<string>() ;
reportPaths.Add(@"C:\temp\report1.lst");
reportPaths.Add(@"C:\temp\report2.lst");
ListLabel LL = new ListLabel();
LL.DataSource = new List<string> { "A", "B", "C" };
LL.AutoShowSelectFile = false;
foreach (string path in reportPaths)
{
LL.AutoProjectFile = path;
string previewName = path.Replace(".lst", ".ll");
ExportConfiguration expConf = new ExportConfiguration(LlExportTarget.Preview, previewName, path);
LL.Export(expConf);
previewNames.Add(previewName);
}
PreviewFile pf1 = new PreviewFile(previewNames[0], false);
PreviewFile pf2;
for (int i = 1; i < previewNames.Count; i++)
{
pf2 = new PreviewFile(previewNames[i], true);
pf1.Append(pf2);
pf2.Close();
pf2.Dispose();
}
pf1.ConvertTo(@"C:\temp\AllPreviewFiles.pdf");
pf1.Close();
pf1.Dispose();
1 Like
jbartlau
(combit - Jochen Bartlau)
Split this topic
7