MDriven reports are created with open document text (odt) or open document spreadsheet formats (ods).

If you need to convert the odt to PDF, there are online services available. If you would rather do this yourself, you can buy a third-party library that has this ability or you can simply automate Word (for odt) and have it save your odt as a PDF.

Please note that this solution with automating Microsoft Word only works well in a client that can access Word locally, like the WPF client. If you want to convert to PDF server-side in Turnkey or the MDrivenServer, we recommend an online service or a .net component rather than trying to call Word. This is because Word components don't work well being called from inside IIS.

Here is an example of using a third-party component:

   Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();        
   foreach (var file in files)        
     if (System.IO.Path.GetExtension(file.FileName.ToLower()) == ".odt" )          
            if (File.Exists(file.FileName)) // Protect againts doublettes
              _Document doc = word.Documents.Open(file.FileName);
              string newfile;
              if (pdf)
                newfile = System.IO.Path.ChangeExtension(file.FileName, ".pdf");
                doc.SaveAs2(newfile, WdSaveFormat.wdFormatPDF);
              object oMissing = System.Reflection.Missing.Value;
              doc.Close(ref oMissing, ref oMissing, ref oMissing);
              file.FileName = newfile;
        Microsoft.Office.Interop.Word._Application app = word.Application;

To use C# code in Turnkey, look at CodeDress.

This page was edited 5 days ago on 06/17/2024. What links here