PDF
(Created page with "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 availabl...")
 
No edit summary
Line 2: Line 2:


If you need to convert the odt to PDF there are online services available. If you rather do this your self 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 PDF.
If you need to convert the odt to PDF there are online services available. If you rather do this your self 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 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 do conversion to PDF server-side in Turnkey och the MDrivenServer we recommend a .Net component rather than trying to call Word. This is because the Word components don't work well being called from inside IIS.
Here is an example of using a [[Serverside PDF|third party component]].
     Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();         
     Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();         
     foreach (var file in files)         
     foreach (var file in files)         

Revision as of 09:26, 13 March 2020

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 rather do this your self 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 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 do conversion to PDF server-side in Turnkey och the MDrivenServer we recommend a .Net component rather than trying to call Word. This is because the 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);
              doc.Activate();
              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.Delete(file.FileName);
              file.FileName = newfile;
            }
        
        }
        Microsoft.Office.Interop.Word._Application app = word.Application;
        app.Quit();
      }
This page was edited 98 days ago on 02/10/2024. What links here