【新】CSDN文章一键打印、输出PDF(自动阅读全文、全清爽模式)

版权声明:本文为丨匿名用户丨原创文章,转载请注明出处:https://blog.csdn.net/p1279030826/article/details/106602341

该方法在 CSDN文章直接打印,或者保存PDF(去掉多余内容)上改进而来。

一、功能及使用方法

使用方法:按“F12”进入开发者工具,将以下js复制到 console,回车即可一键打印。 

功能

  • 1、自动“展开阅读全文”
  • 2、删除顶栏、侧栏、相关文章展示、浏览信息、广告、点赞等多余信息。真正的全清爽模式。
  • 3、自动输出打印预览
  • 4、自动缩放打印页面、避免页边缘内容被裁剪。(2020/10/31 新增)

二、两种获取方法

旧方法:(该方法已弃用,可能会有边缘内容被裁剪掉的情况)

(function(){
	'use strict';
	var articleBox = $("div.article_content");
	articleBox.removeAttr("style");
	$("#btn-readmore").parent().remove();
	$("#side").remove();
	$("#comment_title, #comment_list, #comment_bar, #comment_form, .announce, #ad_cen, #ad_bot").remove();
	$(".nav_top_2011, #header, #navigator").remove();
	$(".csdn-side-toolbar,.template-box,.reward-user-box").remove();
	$(".p4course_target, .comment-box, .recommend-box, #csdn-toolbar, #tool-box,#dmp_ad_58, .more-toolbox, .article-info-box, .btn-readmore, .pub-footer-new").remove();
	$("aside").remove();
	$(".tool-box").remove();
	$("main").css('display','content'); 
	$("main").css('float','left'); 
	$("#mainBox").css('width','100%');		
	$(".main_father.clearfix.d-flex.justify-content-center").css("width","100%");
	window.print();
})();

最新方法:(2020/10/31)

方法一:移除法

扫描二维码关注公众号,回复: 12531017 查看本文章

更新内容:1、去除底部版权信息栏  2、新增打印页面自动缩放 3、去除多余无效内容

注:如果发现打印预览的时候每一页顶部都有标题,请参照下面第三步去掉“页眉和页脚”的勾选

(function(){
	'use strict';
	var articleBox = $("div.article_content");
	articleBox.removeAttr("style");
	$("#btn-readmore").parent().remove();
	$("#side").remove();
	$("#comment_title, #comment_list, #comment_bar, #comment_form, .announce, #ad_cen, #ad_bot").remove();
	$(".nav_top_2011, #header, #navigator").remove();
	$(".csdn-side-toolbar,.template-box,.reward-user-box,.blog-footer-bottom").remove();
	$(".p4course_target, .comment-box, .recommend-box, #csdn-toolbar, #tool-box,#dmp_ad_58, .more-toolbox, .article-info-box, .btn-readmore, .pub-footer-new").remove();
	$("aside").remove();
	$(".tool-box").remove();
	$("main").css('display','content'); 
	$("main").css('float','left'); 
	$("#mainBox").width("100%");		
	document.getElementsByTagName('body')[0].style.zoom=0.8;
	window.print();
})();

方法二:HTML重新构建法(2020/10/31新增)

该方法与方法一功能一致,代码更加简洁,打印完自动还原网页,并且后续CSDN增加其他多余模块也不会有影响。

(function doPrint(){      
	'use strict';
	var articleBox = $("div.article_content");
	articleBox.removeAttr("style");
	var head_str = "";       
	var foot_str = "";   
	var older = document.body.innerHTML;       
	var title= document.getElementsByClassName('article-title-box')[0].innerHTML; 
	var main_body = document.getElementsByClassName('article_content')[0].innerHTML;
	document.body.innerHTML = head_str + title + main_body + foot_str;
	$("#mainBox").width("100%");
	document.getElementsByTagName('body')[0].style.zoom=0.8;     
	window.print();
	document.body.innerHTML = older;
	return false;
})();


 

三、其他问题

1、保存为PDF。将打印机改成“另存为PDF”即可。

2、更多设置。(2020/10/30 方法已在代码内新增自动设置

(1)有的文章页边缘的字会被剪切掉一部分。

  • “边距”选择“无”即可解决。
  • 使用缩放(例如设置“80%”),把整体缩小就不会超过页面了。

(2)可以关闭页眉页脚等。

四、优化部分

此方法增加了修改删除以下信息,真正的全清爽打印输出:

(1)自动“展开阅读全文”,自动打印全文。

(2)新版整体页面会右移的问题。

(3)文章头部的浏览信息:

(4)文章底部的点赞信息,底部的广告信息: 

(4)文章右边的“举报置顶”框 。

============================20200906更新=================================

(5)底部的信息栏

============================20201031更新=================================

(6)底部的版权信息栏

不知道是不是模块名称更改了,信息栏又重新出现了,这里更新一下去掉底部的版权信息栏

(7)自动缩放打印页面

打印预览时发现内容被裁剪了,还得手动修改一下缩放比例,太麻烦,这里更新自动设置缩放。(方法参考:缩放打印

(8)新增一种实现方法

方法二:HTML重新构建法

参考链接:阅读JS/Jquery_实现打印页面指定div的方法

猜你喜欢

转载自blog.csdn.net/p1279030826/article/details/106602341