首页 / 资讯中心 / 文章详情

PDF格式转换全解析:从文字层判定到OCR批量处理

PDF格式转换全解析:从文字层判定到OCR批量处理 ★ FEATURED ARTICLE
PDF 格式转换这件事说小很小说大能让人一上午搭进去。前阵子有位朋友抱着一份二十来页的 PDF 找我说前后转了三次 Word每次打开都是满屏错位——标题跑到页脚表格散成一行行文字页码混进正文里。他以为是软件不行换了三个工具问题一模一样。我看了一眼原文件就明白了那份 PDF 是扫描件里面根本没有可提取的文字层转出来当然是乱的。这个场景我遇到过太多次绝大多数人卡在 PDF 互转上不是工具不够多而是没先搞清楚自己手上这份文件到底是什么。这篇内容想做的事很直接把 PDF 格式转换这件事从点哪个按钮往上抬一层先讲清楚文件本身的差异再给出几套真正能落地的方案——在线工具、桌面软件、办公套件自带通道、命令行批量脚本一条条讲明白各自适合什么场景、会踩什么坑。不管你是偶尔要转一份合同还是每周要处理上百份报表都能在里面找到对应的路子。看完之后你至少能做到两件事拿到一份 PDF 能判断该走哪条路线转完之后知道该检查什么。1. 先看清手里这份 PDF 的底细三种类型决定方案走向1.1 用三个动作十秒判定 PDF 属于哪一类很多人一上手就打开转换工具这是最容易翻车的顺序。正确的第一步是判定文件类型方法非常简单不需要任何工具。第一个动作在阅读器里用鼠标拖选一段文字。如果能选中、能复制说明文件里有文字层如果怎么拖都没有蓝色选区或者只能框出一整块那基本就是图片堆出来的。第二个动作按 CtrlF 搜一个你肉眼能看到的词。搜得到文字层是完整的搜不到要么是图片型要么文字层被加密或损坏。这一步比拖选更准因为有些文件文字层存在但编码错乱拖选能选中搜索却搜不出来。第三个动作看文件大小和页数的比值。一份纯文字排版的中文 PDF一页通常在 20KB 到 80KB 之间如果一页平均超过 300KB尤其是有大量彩色扫描页时单页能到 1MB 以上那大概率是图片型。这个经验值不是绝对的插图多的文档也会偏大但作为初筛非常好用。三类文件对应的现实是文字型 PDF转换的难点在版式还原扫描型 PDF的难点在识别精度混合型 PDF部分页有文字层、部分页是扫描图最麻烦因为它会让工具部分成功你以为转好了翻到第八页才发现是空白。1.2 排版复杂度比文件类型更影响最终结果判定完类型还有一层常被忽略的变量排版本身的复杂程度。同样两份文字型 PDF一份是单栏纯段落一份是三栏学术排版加脚注加公式转换难度完全不在一个量级。我把常见的难搞元素按翻车概率排了个序这个排序来自我自己反复测试的体感不是官方标准但参考价值还算实在排版元素转换翻车概率典型表现多栏排版极高文字按行横向串读左右栏内容混在一起跨页表格很高表格被拆成两个表头丢失单元格错位数学公式很高变成图片、乱码或一串无意义符号页眉页脚与页码高混入正文每页重复出现文本框与浮动图形中高位置漂移遮挡正文艺术字与特殊字体中字体被替换宽度变化导致换行错乱项目符号列表中层级丢失全部变成一级单栏纯段落低基本无损看懂这张表的意义在于当你拿到一份多栏排版的文档就该预期转换结果需要人工整理而不是指望某个工具一键完美。预期管理做在前面后面就不会因为怎么还是乱的而反复换工具浪费time。1.3 类型与方案的对应关系把前面两节的判断合起来就能得到一张路线图。这张表是我自己常用的决策依据实际用下来命中率很高文件情况首选方案备选方案需要额外处理文字型 单栏简单排版办公套件直接打开另存在线转换无文字型 多栏/表格/公式商业套件高保真模式先转文本再重排人工校对扫描型 印刷体清晰OCR 工具识别商业套件的 OCR 模块图像预处理扫描型 手写/模糊人工录入OCR 打底再校对大量校对混合型拆页分类处理全篇 OCR逐页判定只需内容不需版式提取纯文本复制粘贴无这里有一条我个人非常坚持的原则如果最终目的只是要里面的文字内容就别费劲追求版式还原。很多人的需求其实是我要把这些条款复制到新文档里改一改这种情况下用纯文本提取十秒钟搞定比折腾半小时排版转换靠谱得多。先想清楚你要的是像原件还是能用能省掉一大半工作量。2. 在线转换快是真快但得知道它的边界在哪2.1 在线转换背后到底发生了什么把文件拖进网页、点一下转换、下载结果整个过程不超过三十秒。这个体验太顺滑顺滑到很多人把它当成万能方案。实际上在线转换的流程是这样的文件上传到对方服务器服务器用一套通用的转换引擎跑一遍把结果生成好再给你一个有时效的下载链接。关键在于通用这两个字。在线服务面向的是海量用户它必须用一套参数应对所有文件不可能为你的那份特殊排版单独调优。所以它对结构规整、字体常见、单栏排版的文档效果很好一旦遇到嵌入字体、复杂表格、特殊符号就开始出问题。这不是技术不行是通用策略的必然取舍。另一个容易被忽略的点是转换引擎的版本。有些在线服务底层用的是几年前的开源转换库对较新版本办公文档生成的特殊结构支持不好有些则对 PDF 标准的新特性支持有限。你没法知道对面用的是什么所以同一个文件在不同网站上结果不同是完全正常的现象。我一般建议如果第一次转换结果不理想换一个站点试第二次是有意义的但试到第三个还不行就该换路线了别在在线工具上死磕。2.2 文件体积、页数与频率这三道隐形门槛免费在线工具的限制通常写在小字里实际使用时才会撞上。常见的三类限制值得提前知道体积限制多数免费服务卡在 10MB 到 20MB 之间超过就要付费或者直接拒绝。一份带彩图的年报很容易超过这个数。页数限制有些服务限制单次转换不超过 50 页或 100 页超出的部分会被截断——注意是截断不是报错你可能下到一个只有前 50 页的文件还不知道。频率限制同一网络环境下连续转换多次会触发排队或验证。我踩过一次典型的坑转换一份 80 多页的文档网站没提示任何错误下载下来的文件只有 50 页我直到翻到中间发现页码从 50 直接跳到 51 之后内容缺失才意识到被截断了。所以用在线工具处理长文档下载后第一件事是核对总页数这个习惯能帮你避免很多后续麻烦。文件体积还有个隐蔽问题部分服务为了加快传输会对上传的 PDF 先做一次压缩再转换。压缩过程如果降了图像分辨率后续 OCR 的识别率会明显下降。所以扫描件走在线路线时尽量选择明确说明不压缩原文件的服务或者干脆走本地方案。2.3 哪些文件绝对不能往线上传这一条我想说得重一点。在线转换的本质是把文件交给第三方服务器你必须接受这个前提。所以判断标准很简单这份文件如果公开了你会不会有麻烦。具体包括含有个人身份信息、联系方式、住址的表格含有商业条款、报价、客户名单的合同与报表含有未公开设计稿、财务数据的内部文档任何带有内部保密字样的材料。这些东西不管对方承诺什么删除策略都不该上传。服务器端的临时文件、缓存、备份策略你无法验证删除承诺也无法审计。真要处理这类文件本地方案其实一点都不麻烦。后面第 3 节和第 6 节讲的路子装一次软件或者跑一个脚本之后所有转换都在自己机器上完成不联网、不上传、不留痕。前期多花二十分钟配置后面省掉的是长期的心理负担。3. 桌面端方案批量、离线、高保真的主战场3.1 商业套件的转换引擎差异在哪市面上的商业 PDF 套件价格从几十到几百不等差价主要落在转换引擎的能力上。我在实际对比中总结出几个真正拉开差距的点这些也是选购时值得重点看的地方第一是版式分析能力。好的引擎会先对页面做区块划分识别出哪些是标题、哪些是正文、哪些是表格、哪些是图片然后按语义重建结构。差的引擎只做坐标映射把每个文字块按位置摆过去一旦原文档有浮动元素就全乱。第二是表格重建。表格是 PDF 转换里最难的部分因为 PDF 里根本没有表格这个概念只有一堆画线和文字。引擎需要通过线条位置和文字对齐关系反推出单元格结构。这项能力高低差距极大好的能连合并单元格一起还原差的连两列表格都能拆散。第三是字体处理。原文档如果嵌入了非标准字体转换时要决定是保留嵌入、替换为相似字体、还是转成图形。处理不好就会出现字距异常、换行位置偏移。第四是批量与自动化。是否支持文件夹批量、是否支持命令行调用、是否能保留目录结构这决定了它在生产环境里能不能用。我的建议是如果只是偶尔转一两份文件商业套件的优势体现不出来用免费方案足够如果每周都要处理几十份以上、且对格式有要求那这笔投入是值得的省下的返工时间很快就能抵回来。3.2 开源组合拳办公套件加转换工具的配合不想花钱的话开源方案完全够用只是需要多敲几条命令。核心是两个东西一个负责文档层面的转换一个负责 PDF 层面的操作。办公套件以常见的开源办公套件为例自带无头模式可以在不打开界面的情况下做格式转换这条命令是整套方案里最好用的一条soffice --headless --convert-to docx --outdir ./output ./input.pdf它的原理是调用套件内部的文档解析器把 PDF 读进来再按目标格式写出。对文字型、单栏、结构规整的文档效果相当不错而且完全离线。缺点是它本质上是尽力而为遇到复杂排版不会报错会默默给你一个排版走样的结果所以转换后必须人工看一眼。第二个工具负责 PDF 层面的操作比如压缩、拆分、合并、调整分辨率。常用的一条压缩命令gs -sDEVICEpdfwrite \ -dCompatibilityLevel1.4 \ -dPDFSETTINGS/printer \ -dNOPAUSE -dQUIET -dBATCH \ -sOutputFileoutput.pdf input.pdf这里的-dPDFSETTINGS是最关键的参数它决定了压缩策略参数值等效分辨率适用场景体积变化/screen72 dpi屏幕预览不需要打印极小/ebook150 dpi电子阅读、邮件发送小/printer300 dpi常规打印中等/prepress300 dpi 且保留色彩信息印刷前处理偏大/default内部默认不确定时的保守选择中等这里有个反直觉的经验给需要 OCR 的扫描件做压缩是给自己挖坑。很多人为了传得快先把几十兆的扫描件压到几兆再去做识别结果识别率断崖式下跌。正确顺序是先 OCR 再压缩或者干脆别压。3.3 输出参数怎么调分辨率、压缩比与字体参数调优这块我踩过的坑比看过的文档还多挑几个最实用的说。DPI 不是越高越好。做 OCR 时300 dpi 是个稳妥的起点200 dpi 以下识别率会明显下降600 dpi 以上收益递减但处理时间翻倍。有些扫描件本身分辨率就低你把它放大到 600 dpi 并不会增加信息只是让图片变大这时候应该做的是图像增强而不是提分辨率。JPEG 质量参数影响文字边缘。用 JPEG 压缩带文字的扫描页质量低于 75 时文字边缘会出现明显的块状噪点OCR 容易把0认成O。处理文字为主的页面优先用无损或高质量参数gs -sDEVICEpdfwrite \ -dJPEGQ95 \ -dColorImageResolution300 \ -dGrayImageResolution300 \ -dMonoImageResolution600 \ -dNOPAUSE -dBATCH \ -sOutputFileoutput.pdf input.pdf注意单色黑白图像的分辨率设得比彩色高因为二值图像的信息密度低提高分辨率对文字轮廓的保留效果更明显。字体嵌入要检查。转换后如果发现某些字符变成了方框或者奇怪符号通常就是字体没嵌进去。这时候要么在原文档里把字体替换成通用字体再转要么在转换选项里勾选嵌入所有字体。这个选项会显著增大文件体积所以只在确实需要分发时才开。4. 办公软件自带的转换通道被低估的一批捷径4.1 从办公文档到 PDF导出与另存为的差别很多人不知道另存为 PDF和导出为 PDF是两条不同的代码路径输出结果会有细微但真实的差异。另存为走的是打印渲染引擎本质上是把文档打印成 PDF。它会更忠实地反映你在屏幕上看到的页面布局但可能丢失一些文档结构信息比如书签、超链接、标题层级。导出走的是专门的 PDF 输出模块会保留书签、超链接、文档结构标签也就是无障碍阅读用的那套标记文件体积通常也更小。缺点是某些复杂排版在导出时可能和屏幕预览有细微出入。我的选择标准很明确要给别人看、要保留目录和链接的用导出要确保打印出来和屏幕一模一样、或者要交给印刷厂的用另存为。如果文档里有大量图表和文本框两种方式各试一次对比一下选视觉更接近的那个。还有一个常被忽略的选项是最小文件大小。开启后会做图像重采样和字体子集化体积能降一半以上但图像质量会下降。给内部传阅的文件可以开给客户的设计稿千万别开。4.2 从 PDF 回到办公文档能做到什么程度反向转换也就是 PDF 变回可编辑文档这块要建立正确的预期没有任何工具能百分之百还原因为 PDF 本来就不是为可编辑设计的它是为固定呈现设计的。办公套件直接打开 PDF 时会把它当作一个要重新排版的文档来处理内部做的是解析文字块、猜测段落结构、重建表格。对简单文档效果不错对复杂文档就会出现你熟悉的各种错位。这里有个实用技巧如果原 PDF 是这份办公软件自己导出的那么反过来打开的效果会好很多因为生成时保留了较多结构信息。你可以先试着用办公套件打开如果打开后的排版基本正常那就说明结构信息完整直接另存即可如果一打开就是乱七八糟的文本框果断换方案。另外提醒一点PDF 里的图片办公套件打开后通常会被当作浮动对象处理位置容易跑。如果你只需要图片别走这条路直接用提取工具把图片抽出来更干净。4.3 虚拟打印机的正确用法与三个坑打印成 PDF是另一个被低估的通道几乎所有系统都自带。它的优势是通用——任何能打印的东西都能变成 PDF包括网页、聊天记录、扫描结果。第一个坑默认输出可能是图片型 PDF。有些虚拟打印机为了兼容性把每一页渲染成一张图存进去输出文件巨大且无法搜索。判断方法很简单转完之后试着选中文字选不中就是被图片化了。要避免这个得在打印机属性里选择文字或矢量输出模式。第二个坑页面尺寸和边距。默认通常是 A4但原文档可能是 Letter 或者自定义尺寸直接打会缩放。打印预览里一定要确认缩放比例是 100%否则出来的 PDF 尺寸不对后续打印会二次缩放越缩越糊。第三个坑超链接和书签全丢。虚拟打印本质上是渲染文档结构信息不会保留。所以如果是网页想存成带链接的 PDF用浏览器自带的另存为 PDF功能它比系统虚拟打印机的保真度更高。5. 扫描件和图片型 PDFOCR 才是真正的分水岭5.1 识别之前先做图像预处理如果前面判定出手里的 PDF 是扫描件那么后面所有工作都围绕 OCR 展开。而 OCR 圈子里有句话七分靠预处理三分靠识别。同一份扫描件预处理做得好不好识别率能差出二三十个百分点。预处理要做的事按重要性排序第一是纠偏。扫描时纸张稍微歪一点文字行就不是水平的识别引擎的行分割会出错把两行粘在一起。自动纠偏工具能检测文本行角度并旋转校正这个步骤几乎零成本但收益最大。第二是去噪。扫描件上常见的噪点包括纸张纹理、装订线阴影、背面透字、复印产生的黑斑。中值滤波对付孤立噪点很有效形态学操作可以去掉细小的连通区域。第三是二值化。把灰度图变成黑白让文字和背景彻底分开。简单阈值法在光照均匀时够用光照不均时要用自适应阈值局部区域各自算阈值否则页面一角会整片变黑。第四是去边框和裁切。扫描件边缘常有黑边会干扰版面分析先裁掉更稳。这套流程在图像处理库里几行代码就能串起来。如果你不想写代码图形化的扫描工具通常也内置了这些选项勾选自动纠偏去除噪点文本增强即可。5.2 语言包、版式分析与识别参数OCR 引擎的识别精度和语言模型强相关。中文文档必须装中文语言包而且要注意繁简体的区别——用简体模型识别繁体文档错字率会明显升高。中英混排的文档要同时加载两套语言引擎会根据字符形态自动切换。版式分析参数专业叫法是页面分割模式决定了引擎怎么理解页面结构这是最容易被忽略但又极其关键的一项。常见取值和适用场景模式适用场景说明自动分栏大多数情况引擎自己判断单栏还是多栏单块文本纯段落、无表格把整页当连续文本处理速度快单行文本字段抽取只识别一行适合表单定量识别稀疏文本海报、图表标注文字分散、大小不一的情况自动方向检测含旋转文字的页面会额外做方向判定速度稍慢命令行的基本调用形式是这样中英文混排加自动版式tesseract page_01.png result_01 \ -l chi_simeng \ --psm 3 \ -c preserve_interword_spaces1preserve_interword_spaces1这个参数值得单独说默认情况下引擎会把多个连续空格合并成一个这会让原本用空格对齐的表格彻底散架。开启后能保留空格虽然不完美但对后续整理帮助很大。5.3 识别完必须做的校对与结构化整理OCR 出来的文本没有校对过就等于没做。中文识别的典型错误有规律可循掌握这些规律能让校对效率翻倍形近字混淆日/曰、己/已、未/末、人/入这类错误最多数字与字母混淆0/O、1/l/I、5/S、8/B在编号和金额里特别危险标点符号漂移中文逗号被认成英文逗号句号被认成小圆点表格线被识别成字符竖线变成|横线变成_混进正文页眉页脚重复插入每页顶部那行小字会出现在正文中间校对的时候与其逐字读不如用搜索定位法搜0和O搜|和_搜重复出现的字符串页眉页脚。这几种错误占了绝大部分针对性地搜一遍比通读快得多。至于结构化整理如果原文档有表格别指望 OCR 能直接输出规整的表格。可行做法是让 OCR 输出带坐标信息的结果大部分引擎支持输出 TSV 或 hOCR 格式再用坐标聚类还原行列关系。这个工作量不小但如果表格数量多写一次脚本长期受益。6. 批量转换脚本几百个文件一次跑完的写法6.1 环境准备与目录约定单份文件手动转没问题一旦上了几十上百份手动操作就变成纯体力活而且容易漏。这时候值得花半小时写个脚本。环境上我推荐 Python理由是相关库成熟、跨平台、改起来方便。核心依赖三五个pip install pymupdf pdf2image pillow pytesseractpymupdf负责读取 PDF、判断页面是否含文字层、提取文本和图片pdf2image负责把 PDF 页渲染成图片pillow做图像预处理pytesseract是 OCR 引擎的封装。系统层面还需要装 OCR 引擎本体和 PDF 渲染组件这两个得按操作系统单独安装。目录结构建议固定成三块这个约定能让脚本逻辑清爽很多project/ ├── input/ # 原始 PDF只读脚本绝不修改 ├── output/ # 转换结果按源文件名建子目录 └── logs/ # 运行日志出问题靠它回溯原始文件目录设为只读是一条铁律。我见过太多人脚本写错路径把源文件覆盖掉几百份资料一次性没了。改之前先备份或者干脆在代码里加一道判断输出路径如果和输入路径相同就报错退出。6.2 遍历、判断、转换的完整骨架下面这段代码不追求功能完备重点是把自动判断类型这个能力做进去——这正是手动转换最费神的地方import os import fitz # pymupdf from pdf2image import convert_from_path import pytesseract def has_text_layer(page, min_chars50): 判断单页是否包含有效文字层 text page.get_text(text).strip() return len(text) min_chars def process_pdf(src_path, out_dir): doc fitz.open(src_path) pages_text [] for page in doc: if has_text_layer(page): pages_text.append(page.get_text(text)) else: # 图片型页面走 OCR pix page.get_pixmap(dpi300) img_path os.path.join(out_dir, _tmp_page.png) pix.save(img_path) txt pytesseract.image_to_string( img_path, langchi_simeng, config--psm 3 ) pages_text.append(txt) doc.close() return \n\n.join(pages_text) def main(input_dir, output_dir): for name in sorted(os.listdir(input_dir)): if not name.lower().endswith(.pdf): continue src os.path.join(input_dir, name) stem os.path.splitext(name)[0] target_dir os.path.join(output_dir, stem) os.makedirs(target_dir, exist_okTrue) try: content process_pdf(src, target_dir) with open(os.path.join(target_dir, f{stem}.txt), w, encodingutf-8) as f: f.write(content) print(fOK {name}) except Exception as e: print(fFAIL {name} - {e}) if __name__ __main__: main(./input, ./output)这段代码的核心思路是逐页判断、分路处理这正是混合型 PDF 的正确解法。整篇按一种方式处理必然有一半是错的。几个实际跑下来必须注意的点get_text(text)对某些 PDF 会返回一堆空白字符所以判断时要 strip 之后再比长度光判断是否为空会漏掉这类文件。页面的dpi设成 300 是 OCR 的常规选择如果你处理的都是小字号文档可以提到 400但速度会明显变慢。临时图片文件用_tmp_page.png这种带前缀的名字处理完记得清理否则输出目录里会堆满几十万个无用图片。更好的做法是用内存流不落盘。6.3 失败重试与日志记录批量脚本最怕的不是报错而是静默失败——文件没转成功但脚本显示正常你等到一周后要用的时候才发现缺东西。三个防御措施值得加上。第一转换后检查输出文件大小如果小于某个阈值比如 100 字节判定为可疑并单独记到suspicious.log里。第二对每一页的字符数做个下限检查如果一页 OCR 出来只有三五个字符那基本是空白页或者识别失败。第三捕获异常时把完整的堆栈信息写进日志别只打印一行简短信息否则事后根本没法排查。重试策略上我一般只对两类错误重试文件被占用Windows 下常见杀毒软件扫文件时会锁住和临时内存不足。对文件损坏加密这类确定性错误重试一百次也没用直接标记跳过并在汇总报告里列出来让人工处理。另外留一个小技巧脚本跑完后输出一份 CSV 汇总包含文件名、页数、类型判定、字符数、耗时、状态。这份表往那一放几百个文件哪个有问题一眼就能看出来比翻日志快得多。7. 转完之后怎么验一份能救命的校验清单7.1 五分钟快速校验法不管用哪条路线转的交付之前都该过一遍检查。我固定用下面这套流程五分钟能覆盖绝大部分问题第一步查页数。转换前后的页数必须一致少一页都说明出了问题。在线工具被截断、脚本中途异常都会在这里露馅。第二步查首尾。打开第一页和最后一页看内容是否完整。有些转换会在末尾附上空白页或者广告页也有相反的情况——最后半页内容丢失。第三步搜关键词。从原文里挑两三个只出现一次的词搜一遍。搜得到说明文字层完整搜不到说明被图片化了。第四步抽查表格。把转换结果里的表格和原件对照重点看合并单元格、跨页表格、表头。第五步翻图片。图片位置是最容易漂的尤其是环绕排版的图。快速滚动一遍看有没有图跑到页面外面或者压住文字。这套流程听起来简单但真正坚持做的人不多。我的经验是花五分钟检查能省掉后面五十分钟的返工和解释。7.2 五个高频翻车现场与对应修法现象根因修法文字能选中但全是乱码字体编码映射缺失换用能重建字符映射的引擎或走 OCR所有内容堆在一页页面尺寸信息丢失转换时保留原始页面框参数表格所有内容挤进第一列表格结构未能重建改用支持表格识别的模式或先导 Excel中文变成问号或方块目标文档字符集不匹配输出时指定编码为 UTF-8嵌入中文字体转换后文件体积暴涨十倍页面被整体图片化关闭图片化输出选项选矢量模式第三条表格错列的问题我要多说一句这是 PDF 转 Excel 时最典型的症状。PDF 里没有列的概念只有 x 坐标。如果不同行的同一列文字起点坐标有细微差异比如居中对齐和左对齐混用引擎就可能把它们判成不同的列结果就是几十列稀稀拉拉的内容。修法是转换前先在原工具里确认有没有按线条识别表格的选项能利用表格边框线来定列比纯按坐标猜准得多。7.3 长期归档时的格式选择最后说一个常被忽略的角度转换不只是当下的操作还关系到文件以后能不能打开。如果这份文件需要保存五年以上我的建议是保留一份 PDF/A 格式的副本。这是专门为长期归档设计的 PDF 子集它强制要求所有字体嵌入、禁止加密、禁止外部依赖确保几十年后换任何设备都能正常打开。代价是文件体积会大一些某些交互特性会丢失但对归档来说这些都不重要。生成方式上多数转换工具都有 PDF/A 输出选项命令行工具也能指定gs -dPDFA2 -dBATCH -dNOPAUSE \ -sColorConversionStrategyUseDeviceIndependentColor \ -sDEVICEpdfwrite \ -sOutputFilearchive.pdf input.pdf同时建议保留一份纯文本副本。文本副本体积小、格式通用、任何编辑器都能开万一 PDF 出问题内容还在。这个双份保存的习惯我在处理重要资料时一直保持成本极低收益是心里踏实。至于日常流转的文件别折腾归档格式普通 PDF 就行。归档和流转是两种需求用同一套标准去套只会让两边都别扭。我个人在实际操作中的体会是PDF 转换这件事真正的门槛不在工具而在判断。工具就那么几类用熟一个就够判断能力——这份文件是什么类型、我要的是版式还是内容、结果该检查哪几项——是靠一次次翻车攒出来的。刚上手的时候多花两分钟判定比急着点转换按钮划算得多。
阅读完成 · 觉得有帮助?
咨询建站