将PDF论文转换为双语Markdown。对用户提供PDF URL或本地PDF文件,提取文本转为Markdown,保留图片,逐段插入中文翻译。用于学术论文研读、翻译对比。
将PDF论文转换为中英双语Markdown,保留原文格式和图片,逐段提供中文翻译。
用户要求以下操作时使用此skill:
支持两种输入方式:
使用Python + PyMuPDF将PDF转为Markdown并提取图片:
python
import fitz
import os
from PIL import Image
pdf_path = paper.pdf
images_dir = images
figures_dir = figures
os.makedirs(imagesdir, existok=True)
os.makedirs(figuresdir, existok=True)
doc = fitz.open(pdf_path)
pages = []
for page_num, page in enumerate(doc):
# 提取文本
text = page.get_text(text)
# 提取图片
images = []
for imgindex, img in enumerate(page.getimages()):
xref = img[0]
pix = fitz.Pixmap(doc, xref)
if pix.n - pix.alpha > 0: # 跳过透明图片
imgname = fpage{pagenum + 1}img{imgindex}.png
pix.save(os.path.join(imagesdir, imgname))
images.append(img_name)
pix = None
pages.append({text: text, images: images})
使用整页渲染+坐标裁剪提取完整图表:
python
import fitz
from PIL import Image
pdf_path = paper.pdf
OUTPUT_DIR = figures
os.makedirs(OUTPUTDIR, existok=True)
doc = fitz.open(pdf_path)
fig_count = 0
for page_num in range(len(doc)):
page = doc[page_num]
# 2x缩放渲染页面为高清图片
pix = page.get_pixmap(matrix=fitz.Matrix(2, 2))
img = Image.frombytes(RGB, [pix.width, pix.height], pix.samples)
# 获取页面上的图片对象和位置
images = page.get_images()
for imgindex, imginfo in enumerate(images):
xref = img_info[0]
rects = page.getimagerects(xref)
for rect in rects:
# 缩放坐标 (2x)
x0 = max(0, int(rect.x0 * 2) - 20)
y0 = max(0, int(rect.y0 * 2) - 20)
x1 = min(pix.width, int(rect.x1 * 2) + 20)
y1 = min(pix.height, int(rect.y1 * 2) + 20)
# 过滤太小的图片碎片
if x1 - x0 < 80 or y1 - y0 < 80:
continue
# 裁剪完整图表
cropped = img.crop((x0, y0, x1, y1))
figname = ffigp{pagenum+1}{img_index+1}.png
cropped.save(os.path.join(OUTPUTDIR, figname))
fig_count += 1
print(f提取了 {fig_count} 个图表)
关键点:
输出目录结构:
memory/paper-bilingual/
└── YYYY-MM-DD-paper-name/
├── index.md # 双语Markdown
├── images/ # 整页截图(可选)
└── figures/ # 裁剪后的图表
输出格式:
markdown
原文段落...
中文翻译段落...

原文段落...
中文翻译段落...
规则:
使用当前会话的LLM翻译,逐段调用:
将以下英文翻译成中文,保持自然段落格式:
[段落内容]
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 paper-bilingual-1775965461 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 paper-bilingual-1775965461 技能
skillhub install paper-bilingual-1775965461
文件大小: 2.99 KB | 发布时间: 2026-4-13 11:24