word,html互转,html转pdf
在线word转html
http://www.docpe.com/word/word-to-html.aspx
html转word
/// <summary> /// 获取确认书模板 /// </summary> /// <returns></returns> private string GetTemplateString() { StringBuilder sbHtml = new StringBuilder(); // 读取模板替换数据 var path = Server.MapPath("~/App_Data/BookingConfirmationTemplate.html"); using (Stream inStream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read)) using (StreamReader outStream = new StreamReader(inStream, Encoding.Default)) { while (!outStream.EndOfStream) { sbHtml.Append(outStream.ReadLine()); } } var html = sbHtml.ToString(); return html; } /// <summary> /// 下载确认书 /// </summary> /// <param name="orderId"></param> /// <returns></returns> public ActionResult DownloadBookingConfirmOrder(int orderId) { #region 读取模板 var html = GetTemplateString(); #endregion #region 根据ID获取订单内容 替换数据 var order = OrderEFHelper.GetOrder(orderId); if (order != null) { var startDate = order.StartDate; html = html.Replace("@OrderNo", order.OrderNo.ToString()) .Replace("@ConfirmYear", startDate.ToString("yyyy")) .Replace("@ConfirmMonth", startDate.ToString("MM")) .Replace("@ConfirmDay", startDate.ToString("dd")); } #endregion #region 转换为Word文档样式 StringBuilder sb = new StringBuilder(); sb.Append( "<html xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" xmlns:m=\"http://schemas.microsoft.com/office/2004/12/omml\"xmlns = \"http://www.w3.org/TR/REC-html40\">"); sb.Append(html); sb.Append("</html>"); return File(Encoding.UTF8.GetBytes(sb.ToString()), "application/msword", $"确认书.doc"); #endregion }
html转pdf
使用iText库
private void SavePDF(string directoryPath, string path, string html) { if (!Directory.Exists(directoryPath)) //不存在文件夹,创建 { Directory.CreateDirectory(directoryPath); //创建新的文件夹 } //html转pdf using (PdfWriter pdfWriter = new PdfWriter(path)) { PdfDocument pdfDoc = new PdfDocument(pdfWriter); CustomFontProvider fontProvider = new CustomFontProvider(); pdfDoc.SetDefaultPageSize(iText.Kernel.Geom.PageSize.A4); var config = new iText.Html2pdf.ConverterProperties(); config.SetFontProvider(fontProvider); iText.Html2pdf.HtmlConverter.ConvertToPdf(html, pdfDoc, config); pdfDoc.Close(); } }