整合营销服务商

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

免费咨询热线:

网页转pdf,这个工具真好用

两天有个客户需要把网页转为pdf,之前也没开发过类似的工具,就在百度搜索了一波,主要有下面三种

  1. 在线转pdf
  2. 使用浏览器打印功能转pdf
  3. 使用本地软件工具转pdf

在线转pdf

在百度(我一般用必应)搜索“在线网页转pdf”就有很多可以做这个事的网站,免费的如

  • PDF24Tools

各种pdf的操作都有,免费使用,速度一般。

官网地址https://tools.pdf24.org/zh

PDF24 Tools

  • doctron

开源免费项目,使用golang写的,提供在线转

官网地址http://doctron.lampnick.com/

doctron在线体验demo

还有挺多其他的,可以自己搜索,但是都不符合我的预期。

使用浏览器打印功能转pdf

  1. 在浏览器右键,点击打印或者ctrl+p
  2. 在弹出的打印对话框中找到目标打印机选择“另存为PDF”
  3. 点击“保存”按钮即可下载pdf了

使用本地软件工具转pdf

Doctron,这是我今天要介绍的重头戏。

Doctron是基于Docker、无状态、简单、快速、高质量的文档转换服务。目前支持将html转为pdf、图片(使用chrome(Chromium)浏览器内核,保证转换质量)。支持PDF添加水印。

  • 使用chrome内核保证高质量将HTML转为pdf/图片。
  • 简易部署(提供docker镜像,Dockerfile以及k8s yaml配置文件)。支持丰富的转换参数。转为pdf和图片支持自定义大小。
  • 无状态服务支持。

管他的,先把代码下载下来再说

git clone https://gitcode.net/mirrors/lampnick/doctron.git

仓库

运行

go build
./doctron --config conf/default.yaml

运行截图

转pdf,访问http://127.0.0.1:8080/convert/html2pdf?u=doctron&p=lampnick&url=<url>,更换链接中的url为你需要转换的url即可。

转换效果

然后就可以写程序去批量转换需要的网页了,但是我需要转换的网页有两个需求

1、网站需要会员登录,不然只能看得到一部分

2、需要把网站的头和尾去掉的

这就为难我了,不会go语言啊,硬着头皮搞了,肯定有个地方打开这个url的,就去代码慢慢找,慢慢调试,功夫不负有心人,终于找到调用的地方了。

第一步:添加网站用户登录cookie

添加cookie之前

添加cookie之后

第二步:去掉网站头尾

chromedp.Evaluate(`$('.header').css("display" , "none");
		$('.btn-group').css("display" , "none");
		$('.container .container:first').css("display" , "none");
		$('.breadcrumb').css("display" , "none");
		$('.footer').css("display" , "none")`, &ins.buf),

打开网页后执行js代码把头尾隐藏掉

第三步:程序化,批量自动生成pdf

public static void createPDF(String folder , String cl ,  String pdfFile, String urlhref) {
        try {
            String fileName = pdfFile.replace("/", ":");
            String filePath = folder + fileName;
            File srcFile = new File(filePath);
            File newFolder = new File("/Volumes/disk2/myproject" + File.separator + cl);
            File destFile = new File(newFolder, fileName);
            if(destFile.exists()){
                return;
            }
            if(srcFile.exists()){
                //移动到对应目录
                if(!newFolder.exists()){
                    newFolder.mkdirs();
                }
                FileUtils.moveFile(srcFile , destFile);
                return;
            }
            if(!newFolder.exists()){
                newFolder.mkdirs();
            }
            String url = "http://127.0.0.1:8888/convert/html2pdf?u=doctron&p=lampnick&url="+urlhref;
            HttpEntity<String> entity = new HttpEntity<String>(null, null);
            RestTemplate restTemplate = new RestTemplate();
            ResponseEntity<byte[]> bytes = restTemplate.exchange(url, HttpMethod.GET, entity, byte[].class);
            if (bytes.getBody().length <= 100) {
                if(urlList.containsKey(urlhref)){
                    Integer failCount = urlList.get(urlhref);
                    if(failCount > 3){
                        System.out.println("下载失败:" + cl + " / " + pdfFile +"  " + urlhref);
                        return;
                    }
                    failCount++;
                    urlList.put(urlhref , failCount);
                }else{
                    urlList.put(urlhref , 1);
                }

                createPDF(folder , cl ,  pdfFile , urlhref);
            }else{
                if (!destFile.exists()) {
                    try {
                        destFile.createNewFile();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                try (FileOutputStream out = new FileOutputStream(destFile);) {
                    out.write(bytes.getBody(), 0, bytes.getBody().length);
                    out.flush();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

最终成果:


文件夹分类存放

pdf文件

于程序员来说,每天编写代码是他们必做的事。就像从事网课教育行业的小伙伴来说,他们需要在代码的框架里加入PDF文档的讲义内容。如果采取手动撰写PDF里的内容会拉低整体的工作效率,但是直接添加将PDF转换为HTML格式用到程序框架中的话,就可以省掉许多无谓步骤了。那你们知道PDF转HTML格式怎么弄?下面我就来告诉你们几个简单的转换方法,你们快来看看吧!

方法一:使用全能PDF转换助手

这是一款专业的文件转换软件,它能支持很多种文件转换格式,包括PDF转HTML、PDF转Word、PDF转Excel、PDF转PPT、WPS转Word、CAD转图片等格式,而且它大部分的转换功能都支持批量的文件导入,对于办公人士来说,非常方便。

操作如下:

第一步:首先在电脑上打开该软件,点击【PDF转其他】,选择【PDF转HTML】,导入一个或者多个需要转换的PDF文件。

第二步:根据我们的需要,在文件后面选择要转换的页码,再点击右下角的【开始转换】,稍等片刻,系统就会自动转换并下载好HTML格式的文件了。

另外这款软件还新推出了手机APP版本,可以随时帮助我们进行转换文件格式、翻译、压缩等操作,如果你们有兴趣的话,也可以去下载试一试。

方法二:使用万能文字识别软件

这个软件虽然是一个识别软件,但它的功能也不少。该软件也支持PDF转换处理,我们只需使用这个软件就可以快速地把PDF转换HTML格式。

操作如下:

第一步:首先依次点击该软件的【PDF转换处理】——【PDF转HTML】,然后导入需要转换格式的PDF文件。

第二步:然后根据我们的需要点击下面的【添加文件】添加多个需要转换的PDF文件,再点击【开始转换】,HTML的格式就转换好了。

以上就是今天的内容,现在你们应该都知道PDF转HTML格式怎么弄了吧?如果大家还知道其他更好的方法,欢迎在评论区留言哦。

数字化时代,HTML网页文件已成为我们获取和分享信息的主要方式。但有时,为了保留网页的格式和内容,我们可能需要将其转换为PDF文档。此时,首助编辑高手软件将是您的得力助手。下面,就让我们一起了解如何使用首助编辑高手将HTML网页文件转为PDF文档。

第一步,打开软件,在众多功能板块中,选择“PDF编辑工具”中的“批量转换格式”功能

第二步,在转换模式对应的下拉列表中,将选项切换为“HTML转PDF”

第三步,通过“添加文件”或者“添加文件夹中的文件”将HTML网页文件导入,支持导入多个

第四步,设置新文件保存位置,可以将新文件保存在原文件相同位置,也可以指定位置

第五步,确定选择好一系列相关的选项之后,单击右下角的“开始转换”按钮

第六步,提示转换成功后,打开文件夹查看,所有HTNL网页文件都被转为PDF文档,最后也可以打开原文件进行对比,原文件均为HTML,说明转换成功

总之,软件以其简洁的操作界面、强大的功能和高效的转换速度,成为了将HTML网页文件转为PDF文档的理想选择。无论您是学生、上班族还是专业人士,都能满足您的需求,让您的文档处理变得更加轻松和高效。赶快下载并体验首助编辑高手吧!