网页浏览器打印与PDF归档
把用户指定的网页或浏览器可查看文档保存为可核验的独立 PDF。优先保留发布机关、权威机构或原始作者页面,不能把搜索摘要、转载说明或下载页冒充原文。
开始前
- 明确待保存的来源清单、期望文件名、保存目录和是否必须使用浏览器“打印—另存为 PDF”。用户未指定目录时,在当前任务已有子目录或可写位置建立一个含义明确的文件夹;不要在项目根目录随意新建文件。
- 若任务包含多个文件,先建立“编号—标题—发布机关—预期来源—实际来源—保存状态”清单,防止漏项或错名。
- 对每个来源先核对域名、页面标题、发布机关、文号或日期。搜索结果页和搜索摘要只能用于定位,不能作为最终来源。
获取与打印
- 使用当前环境可用的真实浏览器控制工具打开来源。需要登录态时优先使用用户已登录的浏览器;不要绕过验证码、安全警告或访问控制。
- HTTPS 页面无法正常加载时,可将协议改为 HTTP 再试,但必须保持域名、路径和查询参数不变,并重新核对页面标题与发布主体。仅在页面确实支持 HTTP 时使用;不得绕过浏览器的证书或安全警告页。最终记录实际成功打开的 URL。
- 普通 HTML 页面:等待正文加载完成,核对标题和关键内容后,使用浏览器“打印”或系统打印入口,目标选择“另存为 PDF”,页面范围选择全部。
- 浏览器内嵌 PDF:先确认页数和标题,再通过浏览器打印保存。若链接触发直接下载而不显示,可打开已下载的原始 PDF 到浏览器查看器后再打印;如果用户只要求取得原始 PDF、未指定浏览器打印,则优先保留原文件,避免不必要的重编码。
- 动态页面、折叠正文或分页文章:确认打印预览包含完整正文。必要时先展开内容或逐页保存,但不要改变网页事实内容。
- 原文未公开:若发布机关官网明确说明文件未公开或需要依申请公开,保存该官方答复页,并在文件名和交付说明中写明“官方答复—原文未公开”。不得用第三方转载、自己重排的文字或来源不明扫描件冒充官方原文。
- 保存时使用稳定、可排序且不重复的文件名,例如
[序号]发布机关-文号-标题.pdf。同一批文件全部放入同一目录;不得覆盖名称相同但内容不同的现有文件,除非用户明确要求更新。
异常处理
- 页面空白或打印预览缺正文:等待加载、刷新一次、检查阅读模式或可打印版本;仍失败时寻找同一发布主体的正文页、附件页或官方转发页。
- HTTPS 与 HTTP 都失败:查找同一机关的移动版、附件下载地址、政府信息公开页或上级/下级机关的正式转发附件,并清楚标注来源层级。
- 直接附件下载失败:不要反复创建空文件。核对响应是否为 HTML 错误页、登录页或失效链接,再决定是否换官方镜像。
- 打印预览页数异常:取消保存,回到正文核对,而不是交付不完整 PDF。
- 保存对话框记住了旧目录:重新确认路径和文件名后再保存,避免混入其他项目。
交付验收
- 运行
scripts/verify_pdfs.py <PDF或文件夹> --render-dir <临时目录>,核对文件可打开、页数大于零、渲染页数与 PDF 页数一致。 - 查看全部渲染页或清晰的逐页联系表,确认无空白、截断、错页、遮挡、错误页面和重复文件。扫描型政策 PDF 可能无法提取正文文字,但只要页面清晰完整,不应仅因文本提取为空判为失败。
- 抽取普通网页 PDF 的标题、关键文号或正文开头,确认文件内容与文件名一致。
- 最终报告保存目录、文件数量、每份页数、实际来源类型,以及未取得原文或采用官方转发附件的情况。只有完成结构检查和视觉检查后,才能声称“已完成”。
来源与表述边界
- “官方网页”“官方附件”“政府转发附件”“官方答复”“第三方转载”必须分别表述。
- 页面能打开不等于文件仍有效;涉及政策时还应按用户任务需要核对修订、废止和生效状态。
- 本技能授权的是浏览、打印和本地保存,不自动授权上传、分享、发送、登录其他账号或修改外部系统。
微信扫一扫