保存网页为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);
    }
})();
相关推荐
kyriewen12 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒13 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
山河木马13 小时前
矩阵专题2-怎么创建视图矩阵(uViewMatrix)
javascript·webgl·计算机图形学
小林攻城狮13 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦13 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer14 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队14 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY14 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_14 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏15 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端