1. 打开某篇csdn的文章,例如:
2. 按下F12,出现:
3. 点击控制台,图标参考下面的图片:
4. 粘贴以下代码:
(function doPrint() { 'use strict'; // ========== 核心配置:A4打印样式 ========== const printStyle = ` <style media="print"> /* 定义A4纸张规格:210mm × 297mm,设置合理边距 */ @page { size: A4 portrait; /* portrait=纵向,landscape=横向 */ margin: 2cm 1.5cm; /* 上下2cm,左右1.5cm,符合A4打印常规边距 */ } /* 打印区域基础样式,适配A4宽度 */ .print-container { width: 100%; max-width: 190mm; /* 减去边距后的有效宽度,适配A4可打印区域 */ margin: 0 auto; font-family: "SimSun", "Microsoft YaHei", sans-serif; /* 适配中文打印 */ font-size: 12pt; /* A4打印常规字号 */ line-height: 1.5; /* 行高更易阅读 */ } /* 文章标题样式优化 */ .print-title { font-size: 16pt; font-weight: bold; text-align: center; margin-bottom: 1cm; padding-bottom: 0.5cm; border-bottom: 1px solid #333; } /* 正文样式重置,避免原网页样式干扰 */ .print-content { white-space: normal; word-wrap: break-word; /* 长文本自动换行 */ page-break-inside: avoid; /* 避免图片/段落被分页截断 */ } /* 隐藏打印无关元素(兜底) */ body *:not(.print-container):not(.print-container *) { display: none !important; } </style> `; try { // 1. 获取核心元素(增加容错:元素不存在时提示) const $titleBox = $(".article-title-box"); const $articleBox = $(".article_content"); if (!$titleBox.length || !$articleBox.length) { alert("未找到文章标题或正文,请检查页面元素类名!"); return false; } // 2. 保存原页面完整内容和样式(避免恢复后样式丢失) const originalHTML = document.body.innerHTML; const originalStyles = document.head.innerHTML; // 3. 构建纯打印用的DOM结构(适配A4) const printTitle = $titleBox.html().trim(); const printContent = $articleBox.removeAttr("style").html().trim(); const printDOM = ` <div class="print-container"> <div class="print-title">${printTitle}</div> <div class="print-content">${printContent}</div> </div> `; // 4. 替换页面内容并注入A4打印样式 document.body.innerHTML = printStyle + printDOM; document.head.innerHTML = originalStyles + printStyle; // 确保打印样式生效 // 5. 触发打印(等待样式渲染完成) setTimeout(() => { window.print(); // 6. 打印完成后恢复原页面 document.body.innerHTML = originalHTML; document.head.innerHTML = originalStyles; }, 100); // 短暂延迟确保样式加载 return false; } catch (error) { console.error("打印功能出错:", error); alert("打印失败,请刷新页面重试!"); // 出错时强制恢复原页面 document.body.innerHTML = originalHTML || document.body.innerHTML; return false; } })();5. 如果你是第一次打印,可能会提示你输入-允许粘贴,输入后再执行步骤4的代码
6. 如果对打印页面不满意,可以将上述代码粘贴到AI,让它修改