private static async Task <string> ProcessMessagePdf(MessageFile messageFile) { PdfConventer _pdfConventer; MemoryStream _downloadStream = new MemoryStream(); var message = messageFile.Message; if (messageFile.FilePath == null) { throw new Exception("Send the document with the extension .docx or .xls or .xlsx "); } var filePath = messageFile.FilePath; var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(messageFile.FileName); var extension = Path.GetExtension(messageFile.FileName); _downloadStream = await ReadFileToMemoryStream(filePath); switch (extension) { case ".xls": case ".xlsx": _pdfConventer = new XlsxToPdf(); Console.WriteLine(_pdfConventer.GetType().ToString()); break; case ".docx": _pdfConventer = new DocxToPdf(); Console.WriteLine(_pdfConventer.GetType().ToString()); break; default: throw new Exception("There is no such format. Supported Formats:docx,xls,xlsx "); } // return await SendFilePdf(fileNameWithoutExtension, _pdfConventer, _downloadStream); return(await SendFileHtml(fileNameWithoutExtension, _pdfConventer, _downloadStream)); }
/// <summary> /// This endpoints lets you to convert any html to a pdf. /// </summary> /// <param name="docxToPdf">Docx to Pdf parameters.</param> /// <returns>Returns a ReturnResponse type</returns> public Task <ReturnResponse> DocxToPdf(DocxToPdf docxToPdf) { return(SendRequest(docxToPdf)); }