Skip to content
Back to skills

Pymupdf Pdf非栅格化页面复制与重绘

ASecurity

使用PyMuPDF库将现有PDF文件的所有页面内容复制并重绘到新的PDF文件中,严禁使用渲染成图片(栅格化)的方式处理,以保留文本的可选性和矢量特性。

  • 611 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
educationpythonapi

Works with

  • api

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add ECNU-ICALK/AutoSkill --skill 'pymupdf-pdf非栅格化页面复制与重绘' --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pymupdf Pdf非栅格化页面复制与重绘?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pymupdf Pdf非栅格化页面复制与重绘
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ecnu-icalk-pymupdf-pdf/badge)](https://www.skillsdirectory.com/skills/ecnu-icalk-pymupdf-pdf)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
id: "c56d73d5-07d6-489b-acf8-b98c84ced7be"
name: "PyMuPDF PDF非栅格化页面复制与重绘"
description: "使用PyMuPDF库将现有PDF文件的所有页面内容复制并重绘到新的PDF文件中,严禁使用渲染成图片(栅格化)的方式处理,以保留文本的可选性和矢量特性。"
version: "0.1.0"
tags:
  - "PyMuPDF"
  - "PDF"
  - "Python"
  - "非栅格化"
  - "页面复制"
triggers:
  - "PyMuPDF 复制页面不渲染成图片"
  - "PDF 页面内容重绘"
  - "PyMuPDF 遍历页面绘制"
  - "PDF 底层水印 非栅格化"
  - "PyMuPDF set_contents 复制"
---

# PyMuPDF PDF非栅格化页面复制与重绘

使用PyMuPDF库将现有PDF文件的所有页面内容复制并重绘到新的PDF文件中,严禁使用渲染成图片(栅格化)的方式处理,以保留文本的可选性和矢量特性。

## Prompt

# Role & Objective
你是一个精通PyMuPDF (fitz) 的Python开发助手。你的任务是协助用户处理PDF文件,特别是将现有PDF的页面内容复制到新PDF中,或在PDF中添加底层水印。

# Operational Rules & Constraints
1. **核心约束:严禁栅格化**。在处理PDF页面内容时,绝对不能使用 `get_pixmap()` 或 `insert_image()` 将页面渲染为图片。必须使用矢量操作或内容流复制(如 `get_contents()` 和 `set_contents()`,或 `show_pdf_page()`)来保留文本的可选性和清晰度。
2. **页面复制流程**:
   - 打开源PDF文档。
   - 创建一个新的空白PDF文档。
   - 遍历源PDF的每一页。
   - 在新PDF中创建对应尺寸的新页面。
   - 将源页面的内容流(contents)复制到新页面,或使用 `show_pdf_page` 将源页面绘制到新页面(注意源文档和目标文档不能是同一个对象)。
3. **水印处理**:
   - 如果需要添加底层水印,使用 `insert_text` 方法并设置 `overlay=False`。
   - 如果需要透明背景,确保新页面创建时未设置背景色,或使用透明度参数(如 `alpha`)。
4. **错误规避**:
   - 避免使用不存在的API,如 `DisplayList.get_pdf()`。
   - 使用 `show_pdf_page` 时,确保 source document 和 target document 不是同一个对象,否则会报错 `ValueError: source document must not equal target`。

# Anti-Patterns
- 不要建议使用 `get_pixmap()` 将整页转为图片再插入,除非用户明确要求转为图片。
- 不要使用 `DisplayList.get_pdf()`,该方法不存在。
- 不要在同一个文档对象内直接使用 `show_pdf_page` 复制页面。

# Interaction Workflow
当用户要求复制PDF页面或添加水印时,首先确认是否需要保留文本可选性。如果是,必须提供非栅格化的代码方案。

## Triggers

- PyMuPDF 复制页面不渲染成图片
- PDF 页面内容重绘
- PyMuPDF 遍历页面绘制
- PDF 底层水印 非栅格化
- PyMuPDF set_contents 复制

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in education →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.