# MyWeb **Repository Path**: php_project/my-web ## Basic Information - **Project Name**: MyWeb - **Description**: 获取可滚动网页信息下载为pdf或者png - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-28 - **Last Updated**: 2026-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 页面存图 / PDF(Chrome 扩展) 基于 **Manifest V3** 的浏览器扩展:将当前网页保存为 **PNG** 或通过多种方式导出 **PDF**。 ## 功能概览 | 能力 | 说明 | |------|------| | **当前可见区域 PNG** | 截取当前视口为一张图片并下载 | | **整页 PNG** | 滚动拼接整页为一张长图(极长页面会整体缩放以适配画布限制) | | **整页 PDF(拼接)** | 与整页 PNG 同源流程,输出多页高清 PDF | | **系统打印** | 注入脚本后走浏览器打印,可选「另存为 PDF」 | | **整页 PDF(html2canvas)** | 使用 html2canvas + jsPDF 在页面内渲染并导出 | 整页导出在后台进行:扩展图标会显示「···」角标,完成后变为「OK」并可配合系统通知(首次使用请允许通知权限)。 ## 不适用页面 以下地址无法注入脚本或截图:`chrome://`、`edge://`、`about:`、`chrome-extension://`、`devtools://` 等。 ## 技术栈 - Chrome Extension **Manifest V3**(`service_worker` + `scripting`) - [html2canvas](https://github.com/niklasvh/html2canvas)、[jsPDF](https://github.com/parallax/jsPDF)(`npm` 依赖,部分以 `vendor` 形式打包使用) ## 本地开发与加载 1. 克隆本仓库后,在项目根目录执行: ```bash npm install ``` 2. 打开 Chrome → **扩展程序** → 开启「开发者模式」→ **加载已解压的扩展程序**,选择本仓库根目录(包含 `manifest.json` 的文件夹)。 3. 在需要保存的网页上点击扩展图标,在弹出面板中选择对应操作。 ## 权限说明 扩展声明了 `activeTab`、`scripting`、`downloads`、`tabs`、`notifications`,用于:对当前标签页注入内容脚本、触发截图与下载、以及整页导出完成时的提示。 ## 目录结构(简要) ``` ├── manifest.json # 扩展清单 ├── background.js # Service Worker 后台逻辑 ├── popup.html / popup.js / popup.css ├── content/ # 内容脚本(滚动拼接、打印、DOM 转 PDF 等) ├── vendor/ # 第三方 UMD 构建 └── icons/ ``` ## 许可证 与 `package.json` 中声明一致(当前为 **ISC**)。若对外发布,建议补充 `LICENSE` 文件并更新作者信息。 --- **GitHub 仓库简介建议(可贴在仓库 About 描述):** > Chrome MV3 扩展:网页保存为 PNG(视口/整页拼接)或导出 PDF(拼接 / 系统打印 / html2canvas)。