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();
            }


        }
全部评论

相关推荐

07-01 17:14
中北大学 Java
兄弟们是真是假
牛客46374834...:我在boss上投java岗从来没成功过
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
就前几天旅游的时候,打开抖音就经常刷到这类视频:以前是高学历学生、老师、主持人,现在做着团播、擦边主播的工作,以及那些经过精心包装的“职业转型”故事——从铺天盖地的VLOG到所谓的“04年夜场工作日记”,这些内容在初中升学、高考放榜等关键时间节点持续发酵。可以说非常直接且精准地在潜移默化地影响着心智尚未成熟的青少年,使其对特殊行业逐渐脱敏。那我就想问了:某些传播公司、平台运营者甚至某些夜场的老板,你们究竟在传递怎样的价值观?点开那些视频,评论区里也是呈现明显的两极分化:一种是​​经济下行论​​:“现在就业市场已经艰难到这种程度了吗?”​​一种是事实反驳派​​:这些创作者往往拥有名校背景,从事着...
牛客刘北:被环境教育的,为了能拿到足够的钱养活自己,不甘心也得甘心,现在的短视频传播的思想的确很扭曲,但是很明显,互联网玩上一年你就能全款提A6,但你全心全意不吃不喝工作一年未必能提A6,但是在高考中考出现这个的确很扭曲,在向大家传播“不上学,玩互联网也可以轻松年入百万”,不是人变了,是社会在变
预测一下26届秋招形势
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务