整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

如何将doc文档生成html页面

参与某个项目的时候,产品经理要求将产品的操作指南生成html页面的形式直接以链接的形式在管理后台中进行查看,当听到这个要求时小编是相当头疼啊,产品的操作指南将近百来页,不可能手动一页页做成html页面的形式吧。所以小编就想有没有一个工具能直接将doc文档生成html页面工具?经过查找还真让小编找到一个工具来将doc文档生成html页面。下面将告诉你如何使用这个工具,需要这个工具的同学可以在文末找到这个工具的下载方式。

1、打开工具文件的目录,双击“doc2help”这个可执行文件,弹出如下图示的操作界面;

2、在工具操作界面上,输入或者选择处理文件及输出目录,其他选择默认设置即可,后点击操作中的“生成html”按钮会弹出转动的圆圈,表示正在转换,若转换成功最后会弹出提示框提示转换成功。转换成功后打开输出目录可以看到如下图示的文件及文件夹。


3、用浏览器打开上图中的index页面,可以看到转换后的html页面,此时html页面已经生成但小编在查看页面的时候发现某些页面生成的章节存在问题,变为如下图示的内容;

4、出现上面的问题就有点尴尬了,难道又要手动来改这些html吗?小编又重新生成了一遍html页面,打开发现换成其他地方出问题了,小编有重新生成了几次发现出现问题的地方是随机的,发现这一个规律后小编有了一个解决此问题的思路:利用对比工具对比两次生成的内容,不一样的地方肯定会有一个是正常了,用正常的覆盖错误的之后就可以解决此问题了;所以打开对比工具,按文件夹对比方式对比,如下图示:

5、选择两次生成html文件夹,最后按“OK”按钮进行对比,对比结果如下图示:

6、双击对比的页面,弹出文件内容对比结果(注意左上角要选择展示不相等的符号按钮):

7、在正确的窗口中全选(按Ctrl+A键)后点击鼠标右键,在弹出菜单中点击“Copy to Other Side”将正确的页面内容拷贝到另外一侧错误的页面中:

8、拷贝完成后在原错误的页面中保存(按Ctrl+S键)保存正确的内容:

9、正确保存后对比内容不相同的地方为空,表示两个页面内容都一样了:

10、按照上次的方式反复操作直至所有页面内容均一致,此时再打开生成的页面,没有发现html页面还有问题了,至此完成了doc文档生成html页面。

上面介绍了如何使用工具完成doc文档生成html页面的步骤,由于小编用的是破解版的工具,生成html页面的时候存在随机错误,所以小编增加了一个对比工具解决这些随机错误。需要获此这些工具的同学可以关注我们的微信公众号,回复“doc生成html工具”获取doc生成html工具包的下载地址。

欢迎大家关注我们同名微信公众号“麻辣软硬件(微信号:VOSDeveloper)”,一起交流技术相关话题!关注方法:进入微信“添加朋友”,点击“公众号”,在搜索框输入“麻辣软硬件”或者“VOSDeveloper”即可点击关注啦!

.NET的SelectPdf Html到Pdf转换器-社区版是.NET的SelectPdf库中提供的功能强大的html到pdf转换器的免费版本。
转换器提供了许多强大的选项(将任何网页转换为pdf,将任何html字符串转换为pdf,html5 / css3 / javascript支持,页眉和页脚支持等),唯一的限制是它最多可以生成pdf文档。5页长。
.NET的免费HTML至Pdf转换器–社区版功能:最多生成5页pdf文档,将任何网页转换为pdf,将任何原始html字符串转换为pdf,设置pdf页面设置(页面大小,页面方向,页面边距) ,在转换过程中调整内容大小以适合pdf页面,设置pdf文档属性,设置pdf查看器首选项,设置pdf安全性(密码,权限),设置转换延迟和网页导航超时,自定义页眉和页脚,在页眉中支持html和页脚,自动和手动分页符,在每个页面上重复html表头,支持@media类型屏幕和打印,支持内部和外部链接,基于html元素自动生成书签,支持HTTP标头,支持HTTP cookie,支持需要身份验证的网页,支持代理服务器,启用/禁用javascript,修改颜色空间,多线程支持,HTML5 / CSS3支持,Web字体支持等等。


代码实现

1、nuget 引用

Install-Package Select.HtmlToPdf

2、方法

  • using SelectPdf;using System.Collections.Specialized;using System.IO;using System.Web;
    namespace BQoolCommon.Helpers.File{ public class WebToPdf { public WebToPdf() { //SelectPdf.GlobalProperties.LicenseKey = "your-license-key"; }
    /// <summary> /// 將 Html 轉成 PDF,並儲存成檔案 /// </summary> /// <param name="html">html</param> /// <param name="fileName">絕對路徑</param> public void SaveToFileByHtml(string html, string fileName) { var doc = SetPdfDocument(html); doc.Save(fileName); }
    /// <summary> /// 傳入 Url 轉成 PDF,並儲存成檔案 /// </summary> /// <param name="url">url</param> /// <param name="fileName">絕對路徑</param> /// <param name="httpCookies">Cookies</param> public void SaveToFileByUrl(string url, string fileName, NameValueCollection httpCookies) { var doc = SetPdfDocument(url, httpCookies); doc.Save(fileName); }
    /// <summary> /// 將 Html 轉成 PDF,並輸出成 byte[] 格式 /// </summary> /// <param name="html">html</param> /// <returns></returns> public byte[] GetFileByteByHtml(string html) { var doc = SetPdfDocument(html); return doc.Save(); }
    /// <summary> /// 傳入 Url 轉成 PDF,並輸出成 byte[] 格式 /// </summary> /// <param name="url">url</param> /// <param name="httpCookies">Cookies</param> /// <returns></returns> public byte[] GetFileByteByUrl(string url, NameValueCollection httpCookies) { var doc = SetPdfDocument(url, httpCookies); return doc.Save(); }
    /// <summary> /// 將 Html 轉成 PDF,並輸出成 Stream 格式 /// </summary> /// <param name="html">html</param> /// <returns></returns> public Stream GetFileStreamByHtml(string html) { var doc = SetPdfDocument(html); var pdfStream = new MemoryStream();
    doc.Save(pdfStream); pdfStream.Position = 0;
    return pdfStream; }
    /// <summary> /// 傳入 Url 轉成 PDF,並輸出成 Stream 格式 /// </summary> /// <param name="html">html</param> /// <returns></returns> public Stream GetFileStreamByUrl(string url, NameValueCollection httpCookies) { var doc = SetPdfDocument(url, httpCookies); var pdfStream = new MemoryStream();
    doc.Save(pdfStream); pdfStream.Position = 0;
    return pdfStream; }
    private PdfDocument SetPdfDocument(string html) { var converter = new HtmlToPdf();
    converter.Options.WebPageWidth = 1200; html = HttpUtility.HtmlDecode(html);
    return converter.ConvertHtmlString(html); }
    private PdfDocument SetPdfDocument(string url, NameValueCollection httpCookies) { var converter = new HtmlToPdf(); converter.Options.WebPageWidth = 1200;
    if (httpCookies != && httpCookies.Count != 0) { converter.Options.HttpCookies.Add(httpCookies); }
    return converter.ConvertUrl(url); }
    }}

    3、调用

    • /// <summary> /// 下载pdf /// </summary> public void Downpdf(string data) { var stream = new BQoolCommon.Helpers.File.WebToPdf().GetFileStreamByHtml(Gethtml(data)); Response.Clear(); //二进制流数据(如常见的文件下载) Response.ContentType = "application/octet-stream"; //通知浏览器下载文件而不是打开 Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("Profit and Loss Statement.pdf", System.Text.Encoding.UTF8)); var bytes = StreamToBytes(stream); Response.BinaryWrite(bytes); Response.Flush(); stream.Close(); stream.Dispose();
      Response.End(); }

      那么如何获取指定页面的html 呢 传入对应的model 获得指定动态的html

      • private string Gethtml(string data) { string str = "";
        str = this.ControllerContext.RenderViewToString("ProfitDetails", data);
        return str; }
        • using BQoolCommon.Helpers.Format;using Newtonsoft.Json;using OrdersManager.Models.ViewModel.Report;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Web;using System.Web.Mvc;
          namespace OrdersManager.Web.Infrastructure{ public static class HelperExtensions { public static string RenderViewToString(this ControllerContext context, string viewName, string data) { if (string.IsOrEmpty(viewName)) viewName = context.RouteData.GetRequiredString("action");
          context.Controller.ViewData.Model = JsonConvert.DeserializeObject<ProfitDetailsmodel>(StringTools.Base64Decode(StringTools.Base64Decode(data)));
          using (var sw = new StringWriter()) { ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(context, viewName); var viewContext = new ViewContext(context, viewResult.View, context.Controller.ViewData, context.Controller.TempData, sw); try { viewResult.View.Render(viewContext, sw); } catch (Exception ex) { throw; }
          return sw.GetStringBuilder().ToString(); } } }}

          参考文档

          https://www.nuget.org/packages/Select.HtmlToPdf/

家好!你是否曾为HTML格式的文件无法在Word中打开而彻夜难眠?今天,我将为大家分享一个无所不能的“超强HTML转Word转换器”,让你轻松将HTML文件转换为Word格式!

一、HTML转Word工具是什么?

HTML转Word工具是一种应用程序或在线服务,用于将HTML网页或文档转换为Microsoft Word格式(.doc或.docx),以便于编辑、共享和打印,并保持原始样式和格式的完整性。

二、HTML转Word工具怎么用?

打开半文鱼新标签页,点击添加小组件,在组件库中搜索“HTML转Word”,立即获取这个免费版在线神器!

1、点击添加文件,然后从你的电脑中找到你要转换的HTML文件,然后从你的电脑中找到你要转换的HTML文件~✨

2、文件上传完毕后,点击“开始处理”按钮,等待文件转换即可。你也可以继续添加文件一起处理。

3、网页转换完毕后,文件后方的“等待处理”字样会变成“处理成功”,此时只需要点击右下角的打包下载就可以啦。左下角还可以看到本次的处理时间哦~

4、打包下载成功后,界面上会提示你“文件下载成功”。你可以在设定的输出文件夹中找到转换后的Word文件。

在线HTML网页格式转Word文档,能最大限度的保留网页中的样式和链接。支持最大10个文件批量转换,不妨来半文鱼工具大全试试吧!