保存网页为PDF

通过浏览器 F12 开发者工具的控制台(Console)执行 JavaScript 代码,直接将当前打开的网页保存为 PDF

  • 打开目标网页并等待加载完成
  • 按 F12 打开开发者工具 → 切换到 Console(控制台)标签
  • 复制粘贴以下代码并回车执行
javascript 复制代码
(function exportPageToPDF() {
    // 1. 创建打印设置的辅助函数(优化PDF导出效果)
    function optimizePrintSettings() {
        // 创建临时样式,优化PDF打印效果(去除页眉页脚、保留背景、调整边距)
        const style = document.createElement('style');
        style.id = 'pdf-export-style';
        style.textContent = `
            @media print {
                /* 移除浏览器默认的页眉页脚 */
                @page {
                    margin: 10mm; /* 设置PDF页边距(10毫米),可自行调整 */
                }
                /* 强制保留背景色和图片 */
                body {
                    -webkit-print-color-adjust: exact !important;
                    print-color-adjust: exact !important;
                    background: white !important;
                }
                /* 隐藏可能干扰的元素(可根据网页自定义) */
                header, footer, .ad-banner {
                    display: none !important;
                }
            }
        `;
        document.head.appendChild(style);
        
        // 2. 触发打印(用户需手动选择"另存为PDF")
        window.print();
        
        // 3. 打印后移除临时样式(避免影响网页正常显示)
        setTimeout(() => {
            document.head.removeChild(style);
        }, 1000);
    }

    // 执行主逻辑
    try {
        optimizePrintSettings();
        console.log('✅ PDF导出流程已触发,请在打印窗口选择"另存为PDF"');
    } catch (error) {
        console.error('❌ 导出失败:', error.message);
    }
})();
相关推荐
Csvn7 小时前
WASM
前端
修己xj9 小时前
我用 AI 给自己写了一个 Markdown 编辑器,然后把它开源了
前端
FRing039 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
幸运小猿9 小时前
模拟慢上传-处理超时重试image 丢失线上问题
前端·javascript·html
WORLDPO922610 小时前
QTE-020-01-L/F/C-D-A-K-TR_实物_数据手册PDF_国产替代
pdf
moshuying11 小时前
网购能买Token了!
前端
h_654321011 小时前
echarts实现柱状图加一条横线
前端·echarts
风骏时光牛马11 小时前
生成一个后端标题,只需要一个标题,不需要其他的任何文本。
前端
子非鱼@Itfuture11 小时前
关于前后端联调中登录状态/登录信息失效?
java·前端
郭小李11 小时前
openFeign入门
java·开发语言·前端