+1 800 256 3608 (toll-free in North America) or +49 7531 9060-10| service@combit.com

Export und Zusammenführen

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();

Leider kann ich das Verhalten nicht reproduzieren - der nachfolgende Code funktioniert innerhalb einer Testumgebung wunderbar.

    private void Form1_Load(object sender, EventArgs e)
    {
        PreviewFile prv1 = new PreviewFile(@"C:\temp\preview1.ll", false);
        PreviewFile prv2 = new PreviewFile(@"C:\temp\preview2.ll");

        prv1.Append(prv2);
        prv1.ConvertTo(@"C:\temp\pdf.pdf");

        this.Close();
    }

Die Vorschaudateien wurden zuvor mit zwei separaten ListLabel-Instanzen erstellt.

Welche Fehlermeldung erscheint denn in Ihrem Fall?

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)

Sehr geehrter Herr Preuschoff

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.

Ich bitte um Hilfe, danke.

Freundliche Grüsse
Armando Morelli

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 :slight_smile:

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

© combit GmbH