|
public static async Task<MemoryStream> WordToPDF(string wordasblob)
{
//#region convert string to stream
//using var memoryStream1 = new MemoryStream();
//using var streamWriter = new StreamWriter(memoryStream1);
//await streamWriter.WriteAsync(wordasblob);
//await streamWriter.FlushAsync();
//memoryStream1.Position = 0;
//#endregion
byte[] data = System.Convert.FromBase64String(wordasblob);
//To observe the memory go down, null out the reference of base64Data variable.
wordasblob = null;
//Word document file stream
Stream stream = new MemoryStream(data);
using var wordDocument = new WordDocument(stream, FormatType.Docx);
using var docIORenderer = new DocIORenderer();
docIORenderer.Settings.AutoTag = true;
docIORenderer.Settings.PreserveFormFields = true;
docIORenderer.Settings.ExportBookmarks = ExportBookmarkType.Headings;
using var pdfDocument = docIORenderer.ConvertToPDF(wordDocument); |