public Form1() { InitializeComponent(); var excel = new Spire.Xls.Workbook(); excel.LoadFromFile("../../test.xlsx"); Stream stream = new MemoryStream(); excel.SaveToStream(stream); Excel_PDF.ExcelToPDF excelToPDF = new Excel_PDF.ExcelToPDF(stream); }
public static byte[] ConvertToPdf(string fileName) { string contentType = MimeMapping.GetMimeMapping(fileName); MemoryStream mem = new MemoryStream(); switch (contentType.ToLower()) { case "image/gif": case "image/jpg": case "image/png": case "image/jpeg": case "application/BMP": case "image/bmp": case "image/tiff": if (!string.IsNullOrEmpty(fileName)) { Document document = new Document(PageSize.LETTER, 10, 10, 10, 10); //using ( var stream = new MemoryStream() ) //{ PdfWriter.GetInstance(document, mem); document.Open(); using (var imageStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { var image = Image.GetInstance(imageStream); image.ScaleAbsolute(585, 750); //image.ScaleAbsoluteHeight(PageSize.A4.Height - 20); //image.ScaleToFit(PageSize.LETTER); document.Add(image); } document.Close(); // return stream.ToArray(); //} } break; case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": case "application/vnd.ms-excel": case "application/xlsx": case "application/xls": case "application/vnd.ms-excel.sheet.macroEnabled.12": case "application/XLSM": if (!string.IsNullOrEmpty(fileName)) { Spire.Xls.Workbook workbook = new Spire.Xls.Workbook(); workbook.LoadFromFile(fileName, true); workbook.SaveToStream(mem, Spire.Xls.FileFormat.PDF); } break; case "application/vnd.openxmlformats-officedocument.wordprocessingml.document": case "application/msword": case "application/docx": case "application/doc": if (!string.IsNullOrEmpty(fileName)) { Spire.Doc.Document document = new Spire.Doc.Document(); document.LoadFromFile(fileName, Spire.Doc.FileFormat.Auto); document.SaveToStream(mem, Spire.Doc.FileFormat.PDF); document.Close(); } break; case "application/html": case "application/txt": case "application/htm": case "text/html": case "application/xml": case "text/plain": if (!string.IsNullOrEmpty(fileName)) { Spire.Pdf.PdfDocument pdf = new Spire.Pdf.PdfDocument(); PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat { Layout = PdfLayoutType.Paginate, FitToPage = Clip.Width, LoadHtmlTimeout = 60 * 1000 }; htmlLayoutFormat.IsWaiting = true; PdfPageSettings setting = new PdfPageSettings(); setting.Size = PdfPageSize.A4; Thread thread = new Thread(() => { pdf.LoadFromHTML(fileName, true, true, true); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); thread.Join(); pdf.SaveToStream(mem, Spire.Pdf.FileFormat.PDF); } break; case "application/msg": case "application/octet-stream": case "multipart/related": case "application/ZIP": case "application/VCF": default: break; } return(mem.ToArray()); }