This project has moved. For the latest updates, please go here.

PowerPoint ExportAsFixedFormat exception

Apr 29, 2016 at 1:23 PM
Hi Sebastian,

I have an issue with exporting a PowerPoint presentation as a pdf file. Could you please help me out? Here is the respective test method:
[TestMethod]
        public void SavePowerPointAsPdf()
        {
            NetOffice.PowerPointApi.Application app = new NetOffice.PowerPointApi.Application();
            app.Presentations.Add();

            app.ActivePresentation.Slides.Add(1, NetOffice.PowerPointApi.Enums.PpSlideLayout.ppLayoutBlank);

            app.Visible = NetOffice.OfficeApi.Enums.MsoTriState.msoTrue;
            app.Activate();

            app.ActivePresentation.ExportAsFixedFormat(@"C:\test.pdf", NetOffice.PowerPointApi.Enums.PpFixedFormatType.ppFixedFormatTypePDF);

        }
Exception occurs in the "ExportAsFixedFormat" line.
level 1: InnerException {"Ein Aufrufziel hat einen Ausnahmefehler verursacht."} System.Exception {System.Reflection.TargetInvocationException}
level 2: - InnerException {"Typenkonflikt. (Ausnahme von HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))"} System.Exception {System.Runtime.InteropServices.COMException}

I'm using Netoffice 1.7.3, Windows 10 and Office 2013.

Many thanks and have a nice weekend!

coheedld
Apr 29, 2016 at 1:56 PM
Just checked: In Excel it works as expected. But PowerPoint seems to have a problem.
[TestMethod]
        public void SaveExcelAsPdf()
        {
            NetOffice.ExcelApi.Application app = new NetOffice.ExcelApi.Application();

            app.Workbooks.Add();

            app.ActiveWorkbook.Worksheets.Add();

            ((NetOffice.ExcelApi.Worksheet)app.ActiveSheet).Cells[1, 1].Value = "hello!!!";

            ((NetOffice.ExcelApi.Worksheet)app.ActiveSheet).ExportAsFixedFormat(NetOffice.ExcelApi.Enums.XlFixedFormatType.xlTypePDF, @"C:\Mappe1.pdf");
        }
Coordinator
May 1, 2016 at 7:54 PM
Hast du den Excel Test und den PowerPoint Test denn auf der gleichen Maschine laufen lassen? (Nur um einen ganz dummen Fall auszuschliessen, Office installiert für PDF Support einen virtiuellen Printer unter Windows, dazu muss auch der Spooler Service für die PostScript Konvertierung laufen usw....)
Ich bin gerade erst wieder zu Hause angekommen und hatte noch nicht die Zeit das Problem nachzustellen.
(Ich meine mich zu erinnern das PowerPoint hier ein bekanntes LateBinding issue hat weil weil über IDispatch ein optionaler Parameter mit einem inkompatiblen default value gesetzt wird) Ich schau mir das morgen mal an. (Unter Umständen musst ein paar optionale Parameter füttern um ein weiteres Office Issue zu umgehen)
Ich klär das schnellstmöglich.

*Sebastian
May 1, 2016 at 8:32 PM
Hallo Sebastian,

jup, habe beide Testfälle auf der gleichen Maschine am laufen.

Beste Grüße!

coheedld
May 5, 2016 at 8:38 AM
Hi Sebastian,

thanks for your support. It looks like the default value for the parameter "PrintRange" is not correct. If i explicitely define the PrintRange it works as expected:
app.ActivePresentation.ExportAsFixedFormat(@"C:\test.pdf", NetOffice.PowerPointApi.Enums.PpFixedFormatType.ppFixedFormatTypePDF, 1, 0, 1, 1, 0, app.ActivePresentation.PrintOptions.Ranges.Add(1, app.ActivePresentation.Slides.Count));
regards,

coheedld
Marked as answer by coheedld on 5/5/2016 at 1:38 AM