
扫描件补上身份证用 OCRmyPDF 管好 PDF 元数据的完整指南【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF扫描完的 PDF 里常常缺少标题、作者、关键词归档时像一堆没有标签的盒子。OCRmyPDF 在把扫描件变成可搜索 PDF 的同时还能帮你保留、覆盖甚至清除文档元数据一条命令就能搞定。先看看元数据出了什么麻烦你处理过的扫描件大概率遇到过这三种情况元数据是空的文件属性里标题、作者、主题全空白资源管理器里看不出文件内容元数据是脏的有些旧 PDF 的 DocumentInfo 块里夹着无法解析的乱码字节直接复制会出错元数据被工具乱填Ghostscript 这类转换工具在标题缺失时会自动填上 Untitled留下一堆假信息。好消息是这些坑 OCRmyPDF 在处理流程里都会顺手处理而且你不需要任何额外脚本。什么都不写OCRmyPDF 默认帮你复制并修复默认行为是照抄原件 自动修复。处理开始时程序会读取原文件的 Title、Author、Keywords、Subject、CreationDate 五个字段原样带入输出文件。这段逻辑在src/ocrmypdf/_metadata.py的get_docinfo函数里读不到的字段会安静地跳过而不是报错。与此同时metadata_fixup函数会做几件你看不见但很重要的事清掉 DocumentInfo 里的 NUL 空字符和坏字节修复损坏的元数据块删掉 Ghostscript 强加的 Untitled 假标题补齐缺失的创建日期保证修改日期和创建日期不冲突。也就是说即使你只敲了最基本的两条命令输出文件的元数据也已经是干净合规的。ocrmypdf input.pdf output.pdf上面是最基础的用法元数据照抄原件坏掉的字段自动修好。一条命令写入标题、作者和关键词想在 OCR 的同时自定义元数据用四个参数就够了写在任意位置ocrmypdf --title 年度报告 2023 --author 张三 --keywords 年报,财务 input.pdf output.pdf这一行的效果是标题、作者、关键词写入输出文件原件里没被覆盖的其余元数据继续保留。四个参数分别对应参数作用--title文档标题多个词记得加引号--author文档作者--subject主题描述--keywords关键词适合用逗号分隔多个词这些参数在src/ocrmypdf/cli.py的 Metadata options 参数组中定义帮助信息里写明了默认行为是复制输入文档的元数据。处理完立刻验证用 pdfinfo 提取查看元数据写进去不等于写对了验证一步只要一条命令pdfinfo output.pdf输出里的 Title、Author、Subject、Keywords 行就是刚写入的值。如果某一项是空的说明对应参数没生效或字段被清除回到上一步检查拼写即可。顺手记一下规律你在命令行给了值的字段会被覆盖没给的字段保持原件原样。所以先跑一次默认命令、再针对性补字段是最省心的做法。进阶技巧清空字段与 PDF/A 的注意事项用空字符串清除元数据有些字段你想删掉而不是填新值——传入空字符串即可。_unset_empty_metadata函数会把你显式设为空的 Title、Author、Subject、Keywords 从输出文件中移除ocrmypdf --author --keywords input.pdf output.pdf这行的含义是保留标题和主题但把作者和关键词从输出文件里抹掉常见于对外分发前清理个人信息。注意工具会自动署名即使你什么都没设输出文件也会多出几项自动写入的信息Creator 会标记ocrmypdf及其版本和 OCR 引擎Producer 标记底层库 pikepdfModDate 更新为当前时间。这属于可追溯设计不必担心但别把它误认为元数据出错。输出 PDF/A 时个别字段可能被丢弃如果你加了--output-type pdfa把文件转成档案标准格式部分字段因不符合 PDF/A 规范而无法保留。此时 OCRmyPDF 会在日志中给出明确警告列出哪些字段没被复制。对档案类文档来说这是预期行为但对普通使用场景保持默认输出格式即可完整保留元数据。把元数据纳入你的整理流程回到开头的痛点现在你手里有一套完整的组合拳——默认命令保住原件信息坏数据自动修复四个参数按需覆盖标题、作者、主题、关键词空字符串清除敏感或多余字段pdfinfo一条命令验收结果。对文件多的场景可以套用同样的模式批量处理for f in *.pdf; do ocrmypdf --author 张三 $f done_$f.pdf; done这样整个文件夹的扫描件都会带上统一署名归档和检索从此有据可查。【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考