在 macos 中将长网页完整保存为 pdf,可使用 safari 原生导出、chrome 全页截图转 pdf、手动滚动后打印,或 automator 创建一键工作流。

如果您在 macOS 系统中使用浏览器浏览网页,希望将整页内容(包括超出可视区域的长网页)完整保存为 PDF 文件,则需借助系统级打印功能与浏览器协作实现。以下是多种可行的操作方法:
一、使用 Safari 浏览器原生导出
Safari 内置了对长网页滚动截取的支持,可自动拼接页面内容生成连续 PDF,无需第三方插件。
1、在 Safari 中打开目标网页,确保页面已完全加载完毕。
2、按下 Command + P 调出打印对话框。
3、在左下角点击 “PDF” 按钮,然后选择 “另存为 PDF”。
4、在弹出窗口中勾选 “全部页面”(若出现“仅当前页面”选项,请先点击右上角“显示详细信息”展开设置)。
5、点击“保存”,PDF 将包含完整滚动内容,Safari 会自动执行长页渲染。
二、通过 Chrome 浏览器启用“捕获整个页面”打印模式
Chrome 默认仅打印当前视口,但可通过开发者工具强制触发全页截图并转为 PDF,适用于复杂动态网页。
1、在 Chrome 中打开目标网页,按 Command + Option + I 打开开发者工具。
2、点击右上角三个点图标 → 选择 “运行命令”(或直接按 Shift + Command + P)。
3、在命令栏中输入 "screenshot",选择 “Capture full size screenshot” 并回车。
4、浏览器将自动下载 PNG 格式的完整网页截图,随后可使用预览 App 打开该图 → 文件 → 导出为 PDF。
三、利用系统“打印到 PDF”配合滚动截屏增强脚本
当网页含大量异步加载内容(如无限滚动、懒加载图片)时,需先手动滚动到底部再触发 PDF 导出,确保所有元素被浏览器渲染。
1、在任意浏览器中打开网页,将页面滚动至最底部,等待所有内容加载完成(观察底部无加载动画或“查看更多”按钮消失)。
2、按下 Command + P 呼出打印界面。
3、在“页面范围”中选择 “全部”,在“布局”中确认方向为纵向。
4、点击左下角 “PDF” → “存储为 PDF”,保存文件。
5、若发现部分区域空白,说明未充分滚动,需重新执行步骤 1 至 4,并在滚动过程中稍作停顿以触发懒加载。
四、使用 Automator 创建一键导出工作流
通过 macOS 自带 Automator 工具,可将 Safari 当前页面自动执行打印→PDF 保存流程,省去重复操作。
1、打开“Automator”应用,新建“快速操作”文档。
2、在左侧库中拖入 “运行 AppleScript” 动作。
3、粘贴以下脚本:
on run {input, parameters}
tell application "Safari"
set currentTab to current tab of front window
set currentURL to URL of currentTab
do JavaScript "window.print();" in currentTab
end tell
end run
4、保存为“导出当前网页为PDF”,在 Finder 中右键网页标签即可调用。
5、首次运行后,系统会自动唤起打印窗口,手动点击 PDF → 存储为 PDF 完成导出。










