鱼皮AI导航
鱼皮AI导航
  • 主页
  • 社区
  • AI工具
  • AI知识库
  • AI提示词
  • MCP
  • Skills
  • AI学习资源
  • AI资讯
  • GitHub开源
登录/注册

dsh-pdf

DSH 的 PDF 解析工具:pdf_info、pdf_extract_text、pdf_render_page 三件套,pdfjs 与自研渲染器双引擎,未内嵌 CJK 字体的 PDF 也能用系统字体渲染出图。

文档渲染
访问 GitHub
文档README

@zhtx2026/dsh-pdf

DeepSeek Harness 的 PDF 解析工具集 — 提供 pdf_info / pdf_extract_text / pdf_render_page 三个模型可见工具,双引擎架构,未内嵌中文字体的 PDF(如嘉立创 EDA / EasyEDA 导出的原理图)自动切换系统字体渲染。

English | 中文

标签: dsh-plugin · pdf · pdfjs · canvas · schematic · tools

安装

▼
sh
复制代码
dsh plugin --profile web add @zhtx2026/dsh-pdf

开发期可从本地源码安装:

▼
sh
复制代码
dsh plugin --profile web add link:<路径>

重启 DSH(或开新会话)后生效,同时注入中文协作公告。

工具

工具能力
pdf_info页数、页面尺寸(pt)、文档元数据、字体列表及每项 embedded 内嵌标记。
pdf_extract_text按页提取文字;可选 page 与 withPosition(每行 x/y 坐标 + 字号)。
pdf_render_page把一页渲染为本地 PNG;scale/outDir 可配;渲染引擎自动选择。

为什么需要自研渲染器

pdfjs-dist 无法渲染「字体未内嵌且无 ToUnicode 映射」的 PDF 文字 —— 典型就是 嘉立创 EDA / EasyEDA 导出的原理图(SimSun/SimHei Type0 字体、 UniGB-UCS2-H 编码):pdfjs 会报 translateFont failed 并丢字。

dsh-pdf 用双引擎解决:

  • pdfjs 引擎 — 字体全部内嵌时使用(常规 PDF)。
  • sysfont 引擎 — 自研内容流渲染器:自己解析文本算子 (BT/ET、Tf、Tm、Td、Tj、TJ),把 UniGB-UCS2-H/UTF-16BE 串解码为 Unicode,再经 @napi-rs/canvas 用系统字体(宋体、黑体、 微软雅黑……)绘制。

文字提取同样自动选择:字体全内嵌 → pdfjs 文本层;存在未内嵌字体 → 自研解码器(正确还原 pdfjs 会丢失的中文)。

示例

▼
text
复制代码
pdf_info("D:/Downloads/SCH_SA-V11A.pdf") → 3 页、A3 横向、jsPDF 生成、6 个字体(全部未内嵌) pdf_extract_text("D:/Downloads/SCH_SA-V11A.pdf", { page: 1 }) → 网络名、引脚号、中文标签("主控板"、"嘉立创"……) pdf_render_page("D:/Downloads/SCH_SA-V11A.pdf", { page: 1, scale: 2 }) → D:/Downloads/SCH_SA-V11A-pages/page-1.png (2396×1698,engine: sysfont)

架构

  • lib/index.js — cordis 插件入口(name、inject、apply);以原生工具 对象注册三个工具(标准 JSON-Schema parameters/output,无需依赖 @deepseek-ai/dsh-tools),并注入中文协作公告(systemPrompt.section, order 160)。
  • lib/pdf-core.js — 自包含引擎:PDF 对象解析器、字体扫描、基于 fs 的 CMapReaderFactory/StandardFontDataFactory 加载 pdfjs(Node 24 全局 fetch 不支持 file://)、自研文本提取器、sysfont 渲染器。
  • cordis.patch.yml — dsh.bundle.patch 插入行。

限制

  • 扫描件/纯图片 PDF 无文字层,提取不到文字(渲染仍可用,等同原图)。
  • sysfont 渲染器假设 Type0 的 CID 即 Unicode 码点(UniGB-UCS2-H 导出 成立);特殊 CID 字体回退 pdfjs。
  • 大文件整份读入内存解析。

许可证

MIT

文档渲染

快捷安装

复制到终端去安装插件

dshplugin--profilewebaddgithub:zhtx2024/dsh-pdf

温馨提示

装插件等于在本机跑第三方代码,权限与你相同,能读文件、用凭据、访问网络,工具审批管不到。请只装可信来源,并尽量锁定 commit。

站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
🔥热门工具
朱雀AI检测朱雀AI检测
朱雀AI检测助手朱雀AI检测助手
LovartLovart
老鱼简历老鱼简历
WritePass官网WritePass官网
面多多面多多
CursorCursor
星月写作星月写作
零感AI零感AI
墨得问题墨得问题
dsh 插件推荐
dsh-markdown-reader
在独立全屏阅读器中渲染工作区 Markdown 文件,支持 GFM、KaTeX、Mermaid、目录导航、文件更新同步以及浏览器打印和 PDF 导出。
dsh-xia-plugins#packages/gameassist-knowledge
树状 Markdown 知识库:为 DSH Agent 提供 kb_list/kb_read/kb_write 工具、目录/正文 HTTP 接口,并配套浏览器面板。
dsh-workbuddy-ppt
在 DSH 中使用包内编排 Skill、确定性 PPTD 场景检查和原生 PowerPoint 对象生成可编辑 PPTX,并在本地交付 PPTD 源项目。
dsh-industry-research
面向 DeepSeek Harness 的确定性行业研究报告:公司与行业研究流程基于分阶段证据产出结构化、可核验的报告。
dsh-outline-auto
在 DSH 对话中搜索、读取并安全读写用户自己的 Outline 知识库文档,写操作受白名单保护与审批约束。