cognidox / OfficeToPDF

A command line tool to convert Microsoft Office documents to PDFs
https://www.cognidox.com/
Other
616 stars 141 forks source link

fix the bug that office program will shutdown once running the OfficeToPDF.exe command line tool #54

Closed wenzai007 closed 5 years ago

wenzai007 commented 5 years ago

This is for issue https://github.com/cognidox/OfficeToPDF/issues/53

While I am using outlook to view and deal with messages, and at same time I want to convert some messages into PDF, but whenever I run the command line .\OfficeToPDF.exe '.\outlookmessage.msg' 'convertedNewFile.pdf' it will shutdown the Word.exe and Outlook.exe, which is very inconvenient, why it would act like this, (from source code, seems it will release the session? After debugging, I found that in OutlookConverter.cs try { app = (Microsoft.Office.Interop.Outlook.Application)Marshal.GetActiveObject("Outlook.Application"); } catch(System.Exception) { app = new Microsoft.Office.Interop.Outlook.Application(); running = false; } )

// If we were not already running, quit and release the outlook object if (app != null && !running) { ((Microsoft.Office.Interop.Outlook._Application)app).Quit(); } Why would we affect the current running app and session? Could we not shutdown the Outlook and Word app when running the converting job?

I tried to fix it to make the initial variable options["noquit"] to true. I think it makes more sense.

wenzai007 commented 5 years ago

Just found out that there is a /noquit switch, then it's fine to close it. I will abandon the PR #54