保存网页为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);
    }
})();
相关推荐
AI前端老薛7 分钟前
CSS实现动画的几种方式
前端·css
晨米酱9 分钟前
轻量级 Git Hooks 管理工具 Husky
前端·代码规范
携欢11 分钟前
portswigger靶场之修改序列化数据类型通关秘籍
android·前端·网络·安全
前端小L12 分钟前
专题二:核心机制 —— reactive 与 effect
javascript·源码·vue3
GuMoYu12 分钟前
npm link 测试本地依赖完整指南
前端·npm
代码老祖13 分钟前
vue3 vue-pdf-embed实现pdf自定义分页+关键词高亮
前端·javascript
未等与你踏清风13 分钟前
Elpis npm 包抽离总结
前端·javascript
代码猎人13 分钟前
如何使用for...of遍历对象
前端
秋天的一阵风15 分钟前
🎥解决前端 “复现难”:rrweb 录制回放从入门到精通(下)
前端·开源·全栈
林恒smileZAZ15 分钟前
【Vue3】我用 Vue 封装了个 ECharts Hooks
前端·vue.js·echarts