返回顶部
v

vector-text-fixer矢量文本修复

Fix garbled text in PDF/SVG vector graphics for final editing in AI.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.0
安全检测
已通过
223
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

vector-text-fixer

Vector Text Fixer

修复PDF/SVG矢量图形中的乱码文本,使其可在AI工具中编辑。

功能特点

  • - 乱码文本检测:自动识别PDF/SVG文件中的乱码文本
  • 智能修复:根据上下文推断原始文本内容
  • 批量处理:支持批量处理文件夹中的多个文件
  • 格式保留:修复后的文件保持原始矢量格式和布局
  • AI辅助编辑:输出可导入AI编辑器的中间格式

支持场景

1. PDF乱码文本修复

  • - 字体嵌入问题导致的方框/问号问题
  • 编码转换错误引起的乱码文本
  • 字体缺失替换产生的异常字符
  • 多语言混合编码问题

2. SVG乱码文本修复

  • - 文本实体编码错误
  • 特殊字符转义问题
  • 无效字体引用导致的显示异常
  • XML编码声明错误

使用方法

命令行

bash

修复单个PDF文件


python scripts/main.py --input document.pdf --output fixed.pdf

修复单个SVG文件

python scripts/main.py --input diagram.svg --output fixed.svg

批量处理文件夹

python scripts/main.py --batch ./inputfolder --output ./outputfolder

交互式修复(手动指定替换内容)

python scripts/main.py --input doc.pdf --interactive

导出为可编辑格式(JSON)

python scripts/main.py --input doc.pdf --export-json editable.json

Python API

python
from scripts.main import VectorTextFixer

创建修复器实例

fixer = VectorTextFixer()

修复PDF

result = fixer.fix_pdf(input.pdf, output.pdf)

修复SVG

result = fixer.fix_svg(input.svg, output.svg)

批量处理

results = fixer.batchfix(./inputfolder, ./output_folder)

获取文本映射(用于AI编辑)

textmap = fixer.extracttext_map(input.pdf)

输入参数

参数类型必填说明
--inputstr是*输入文件路径(PDF或SVG)
--batch
str | 否 | 批量处理输入文件夹 | | --output | str | 是* | 输出文件/文件夹路径 | | --interactive | bool | 否 | 启用交互式修复模式 | | --export-json | str | 否 | 导出可编辑JSON格式 | | --encoding | str | 否 | 指定源文件编码(默认:自动检测) | | --font-substitution | dict | 否 | 字体替换映射 | | --repair-level | str | 否 | 修复级别:minimal、standard、aggressive(默认:standard) |

*--input和--batch至少需要指定一个

输出格式

修复后的PDF/SVG

  • - 保持原始矢量格式
  • 乱码文本替换为可读内容
  • 字体和布局保持不变

JSON导出格式

json { file_type: pdf, pages: [ { page_num: 1, text_blocks: [ { id: tb_001, bbox: [100, 200, 300, 220], original_text: �����, detected_encoding: UTF-8, confidence: 0.3, suggested_fix: 示例文本 } ] } ], fonts_used: [Arial, SimSun], repair_summary: { total_blocks: 15, fixed_blocks: 12, skipped_blocks: 3 } }

乱码文本检测规则

该工具使用以下规则检测乱码文本:

  1. 1. 替换字符检测:识别U+FFFD(�)和方框字符
  2. 控制字符过滤:排除非打印控制字符
  3. 编码一致性:检测混合编码引起的异常
  4. 字体回退检测:识别因字体缺失产生的替换字符
  5. 概率模型:基于字符频率的乱码文本概率评估

修复策略

最小修复

  • - 仅修复明显错误(替换字符、空字节)
  • 最大程度保持原始文本完整性
  • 适用于轻微乱码问题

标准修复

  • - 修复常见编码问题
  • 智能字体替换
  • 平衡修复率和准确率

激进修复

  • - 全面文本重新编码
  • 使用OCR辅助识别
  • 适用于严重乱码文档

示例

修复单页PDF

输入
bash
python scripts/main.py --input report.pdf --output fixed_report.pdf

输出

✓ 处理中:report.pdf
✓ 检测到5个乱码文本块
✓ 自动修复4个块
⚠ 1个块需要人工审核
✓ 输出已保存:fixed_report.pdf
✓ 报告已保存:fixedreportrepair_log.json

导出可编辑JSON

输入
bash
python scripts/main.py --input diagram.svg --export-json editable.json

输出JSON结构
json
{
file_type: svg,
svg_info: {
width: 800,
height: 600,
viewBox: 0 0 800 600
},
text_elements: [
{
id: text_1,
x: 100,
y: 200,
font_family: Arial,
font_size: 14,
original: �����,
user_editable: ,
confidence: 0.25
}
]
}

依赖项

pdfplumber>=0.10.0 # PDF解析
PyMuPDF>=1.23.0 # PDF处理(fitz)
cairosvg>=2.7.0 # SVG转换
beautifulsoup4>=4.12.0 # SVG解析
fonttools>=4.40.0 # 字体处理
chardet>=5.0.0 # 编码检测
Pillow>=10.0.0 # 图像处理

局限性

  • - 加密PDF需要先解锁密码才能处理
  • 严重损坏的矢量文件可能无法完全修复
  • 某些稀有字体可能无法正确映射
  • 扫描版PDF需要先进行OCR识别

版本信息

  • - 版本:1.0.0
  • 最后更新:2026-02-06
  • 状态:可投入使用

风险评估

风险指标评估级别
代码执行本地执行Python/R脚本
网络访问
无外部API调用 | 低 | | 文件系统访问 | 读取输入文件,写入输出文件 | 中 | | 指令篡改 | 标准提示词指南 | 低 | | 数据泄露 | 输出文件保存到工作区 | 低 |

安全检查清单

  • - [ ] 无硬编码凭据或API密钥
  • [ ] 无未授权文件系统访问(../)
  • [ ] 输出不暴露敏感信息
  • [ ] 已实施提示注入防护
  • [ ] 输入文件路径已验证(无../遍历)
  • [ ] 输出目录限制在工作区内
  • [ ] 脚本在沙盒环境中执行
  • [ ] 错误消息已清理(不暴露堆栈跟踪)
  • [ ] 依赖项已审计

前置条件

bash

Python依赖项


pip install -r requirements.txt

评估标准

成功指标

  • - [ ] 成功执行主要功能
  • [ ] 输出符合质量标准
  • [ ] 优雅处理边界情况
  • [ ] 性能可接受

测试用例

  1. 1. 基本功能:标准输入 → 预期输出
  2. 边界情况:无效输入 → 优雅错误处理
  3. 性能:大数据集 → 可接受处理时间

生命周期状态

  • - 当前阶段:草稿
  • 下次审核日期:2026-03-06
  • 已知问题:无
  • 计划改进
- 性能优化 - 额外功能支持

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 vector-text-fixer-1775877542 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 vector-text-fixer-1775877542 技能

通过命令行安装

skillhub install vector-text-fixer-1775877542

下载

⬇ 下载 vector-text-fixer v0.1.0(免费)

文件大小: 9.75 KB | 发布时间: 2026-4-12 11:49

v0.1.0 最新 2026-4-12 11:49
Initial release of vector-text-fixer.

- Detects and repairs garbled text in PDF/SVG files while preserving formatting and layout.
- Supports batch processing, interactive editing, and export of results as editable JSON.
- Offers three repair levels: minimal, standard, and aggressive.
- Command-line and Python API interfaces provided.
- Handles font embedding, encoding, and special character issues in vector graphics.
- Output maintains original vector format; includes reports and editable maps for AI editors.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部