保存网页为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);
    }
})();
相关推荐
掘金安东尼3 小时前
纯 CSS 实现弹性文字效果
前端·css
牛奶4 小时前
Vue 基础理论 & API 使用
前端·vue.js·面试
牛奶4 小时前
Vue 底层原理 & 新特性
前端·vue.js·面试
anOnion4 小时前
构建无障碍组件之Radio group pattern
前端·html·交互设计
pe7er4 小时前
状态提升:前端开发中的状态管理的设计思想
前端·vue.js·react.js
SoaringHeart5 小时前
Flutter调试组件:打印任意组件尺寸位置信息 NRenderBox
前端·flutter
晚风予星6 小时前
Ant Design Token Lens 迎来了全面升级!支持在 .tsx 或 .ts 文件中直接使用 Design Token
前端·react.js·visual studio code
sunny_6 小时前
⚡️ vite-plugin-oxc:从 Babel 到 Oxc,我为 Vite 写了一个高性能编译插件
前端·webpack·架构
GIS之路6 小时前
ArcPy 开发环境搭建
前端
林小帅8 小时前
【笔记】OpenClaw 架构浅析
前端·agent