美文网首页
【Kafka】Html文件转成PDF文件

【Kafka】Html文件转成PDF文件

作者: 扬_帆_起_航 | 来源:发表于2020-02-16 20:42 被阅读0次

1. 背景

前几天登陆某网站看到几篇非常不错的Kafka文章,每次登陆阅读太麻烦,通过浏览器【文件->打印->预览】的方式导成PDF文件,发现只能导出当前页,滚动条余下几页无法导出,尝试了多种办法后,终于得到了解决

2. 具体操作

  • 安装PhantomJS
    根据自己的系统环境下载安装文件【https://phantomjs.org/download.html
  • 安装Chrome插件
    插件下载连接【https://www.chromefor.com/save-page-we_v12-4/
  • 页面下载
    点击Chrome的右上角【Save Page WE】按钮,保存到指定目录 image.png
  • 编写js文件
    代码大部分出自高人之手
    var page = require('webpage').create();
    var system = require('system');
    
    //读取命令行参数,也就是js文件路径。
    if (system.args.length === 1) {
     console.log('Usage: loadspeed.js <some URL>');
     phantom.exit();
    }
    page.settings.loadImages = true;  //加载图片
    page.settings.resourceTimeout = 30000;//超过10秒放弃加载
    //也可以指定具体的网页连接如: http://www.baidu.com
    var address = system.args[1];
    page.open(address, function(status) {
       function checkReadyState() {//等待加载完成将页面生成pdf
           setTimeout(function () {
               var readyState = page.evaluate(function () {
                   return document.readyState;
               });
               //根据页面中的元素自定义宽度与高度,目的是可随意生成想要的PDF文件
               var bb = page.evaluate(function () {
                   return document.getElementsByClassName('自定义元素')[0].getBoundingClientRect();
               });
               if ("complete" === readyState) {
    
                   page.paperSize = { width:'1500px',height:bb.height,orientation: 'portrait',border: '0cm' };
                   var timestamp = Date.parse(new Date());
                   // 自定义文件名
                   pdfname = 'HT_'+timestamp + Math.floor(Math.random()*1000000);
                   // 自定义文件生成路径
                   var outpathstr = "/Users/"+pdfname+".pdf";
                   page.render(outpathstr);
                   console.log("生成成功");
                   console.log("$"+outpathstr+"$");
                   phantom.exit();
    
               } else {
                   checkReadyState();
               }
           },1000);
       }
       checkReadyState();
    });
    
  • 生成PDF文件
    由于下边的三个文件都在相同目录,直接运行即可,转换后的PDF文件,就保存在你自定义文件路径下
    ./phantomjs html2pdf.js PhantomJS.html
    

相关文章

  • 【Kafka】Html文件转成PDF文件

    1. 背景 前几天登陆某网站看到几篇非常不错的Kafka文章,每次登陆阅读太麻烦,通过浏览器【文件->打印->预览...

  • Excel文件怎么转成PDF文件

    Excel文件怎么转成PDF文件,在很多情况下,大家为了Excel文件更好的保存,往往会把Excel文件转成PDF...

  • pdf转成word后格式调试

    pdf转成word后格式调试?我们常用的pdf转换软件在处理pdf文件转成了word文件时,经常会出现文件的格式方...

  • pdf转成word后格式快速调整

    pdf转成word后格式调试?我们常用的pdf转换软件在处理pdf文件转成了word文件时,经常会出现文件的格式方...

  • Mac系统中怎么将html网页转成PDF格式?

    Mac系统中怎么将html网页转成PDF格式?mac系统中把网页格式的文件想转换成pdf格式的文件,方便打印,该怎...

  • pdf转成word乱码怎么办

    pdf转成word乱码怎么办?我们常常在pdf文件的处理时,会用到pdf转换器软件对pdf文件进行转成word处理...

  • pdf转成word乱码怎么办

    pdf转成word乱码怎么办?我们常常在pdf文件的处理时,会用到pdf转换器软件对pdf文件进行转成word处理...

  • pdf格式文件转成ppt的教程

    pdf格式文件转成ppt的教程?pdf格式的文件转成ppt文件其实方法很多很多,我们在网络上看到的文献、或者资料等...

  • pdf转成word后还是不能编辑

    pdf转成word后还是不能编辑,怎么处理?pdf转成word后还是不能编辑的原因应该是pdf文件的源文件没有确定...

  • pdf转成word是图片

    pdf转成word是图片,这是什么原因导致的呢?pdf文件的类别有两种:一种是扫描的pdf文件,这种pdf文件很多...

网友评论

      本文标题:【Kafka】Html文件转成PDF文件

      本文链接:https://www.haomeiwen.com/subject/elhmfhtx.html