Serverside PDF

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, for example Aspose.Words as used in this example.

Please note that this solution works well inside IIS, but it's not free. If you can access Word locally, like the WPF client, then you can use Word instead of paying for a .Net component. You can find an example of using Word with automation here.

Example

This example uses a transient class PDFconverter to make PDF-conversion easy to access from anywhere in the model.

PDF converter class.png

This is the C# code for the two functions.

public void ConvertToPDF()
{
      Aspose.Words.License license = new Aspose.Words.License();
      license.SetLicense("Aspose.Words.lic");
      MemoryStream srcStream = new MemoryStream(this.Document);
      Document srcDoc = new Document(srcStream);
      MemoryStream dstStream = new MemoryStream();
      Aspose.Words.Saving.PdfSaveOptions options = new Aspose.Words.Saving.PdfSaveOptions();
      options.Compliance = Aspose.Words.Saving.PdfCompliance.PdfA1b;
      options.MemoryOptimization = true;
      options.OptimizeOutput = true;
      srcDoc.Save(dstStream, options);
      this.PDF = dstStream.ToArray();
}

CheckCodeDressingActive is a way of making sure that the PDF component has been properly loaded, in this case with CodeDress.

public bool CheckCodeDressingActive()
{
  return true;
}

Note;

Include the Aspose license file as an Embedded resource in the VS project to avoid the error message "the invoked member is not supported in a dynamic assembly"

This page was edited 47 days ago on 02/10/2024. What links here