前情提要:
最近一个同事请叫我一个问题,他发现一片不错的博文,是在博客园的,但是不能下载这篇文章,我看了一下才发现,原来csdn也是不行的。合理。毕竟是人家辛苦写的文章,不能就这么被别人随便copy吧。各个博文网站这么做也是合理,但是对一个前端来讲,我觉得这是个好问题,今天分享一个可以把文章搞下来的方案,还原率在95%以上。
其实就是用wkhtmltopdf 这个软件,顾名思义,这个就是html 向 pdf转变的一个工具。一般来讲我们就是纯复制粘贴是肯定可以的。但是对于真的好文章来说,一般是字数篇幅非常大的。不过哪怕很大,也是可以CV的,这么看来确实不需要下载的功能。
工具下载地址:wkhtmltopdf
(注意:以下方式只是给大家举例一下,相当于最简单的一种操作,其实还有很多参数和指令,大家可以参考官网或者别的博文)
步骤:
方式一:
下载完成之后进入bin文件夹下,找到有wkhtmltopdf.exe。
打开cmd命令行。(当前文件夹的cmd)
wkhtmltopdf.exe +被修改文件的全路径 + 需要生成的pdf文件(名字最好和HTML文件保持一致,仅后缀名不同)// 举例
wkhtmltopdf.exe D:\A_my_study\HBuilderProjects\test1\14-text.html 14-text.pdf
这样,这个pdf就会在当前文件夹中生成。
用这个最大的好处是,生成的pdf文件和网页上的原文的格式可以说是基本完成一致。甚至包括图片也是可以copy下来。
方式二:
跟刚才一样,这里的方式是直接换成某网站的URL,可以直接将网站的文章下载成pdf文件。
但是有时候会失败,我的成功率在50%左右,不排除网络原因和某些网站设置了防止这种操作的一些举措。有的时候会卡住,需要等待一会,也可以下载下来,难以置信。
小结:
个人觉得第二种方式才是使用这个工具的最大好处,但是有时候不能成功。第一种方式保险一些是肯定能保存下载成功的。懂前端的伙伴可以在网站的HTML中截取文章那部分内容,cv到本地的vscode或者HBuilder中,自己生成一个,然后在使用工具转成PDF即可。试过会感觉很爽。
选择标签后,右键弹出选项,选择“以HTML格式修改”,
把这块CV下来到我们的html文件中
然后执行“方式一”。生成的pdf完美还原网站。这一点是通过CV完全比不了的,通过wkhtmltopdf 可以保证格式基本还原原网站。
再补充一下哈,其实用这个工具的场景还比较少,一般人CV就可以,如果真有这个需要的话,wkhtmltopdf 是个不错的选择。