使用Ghostscript对PDF做OCR后文件体积大幅增大如何解决?
解决方案
方案1:使用Ghostscript内置参数直接保留原图像
Ghostscript 9.56及以上版本的pdfocr系列设备支持-dKeepOriginalImages参数,启用后不会重新编码渲染原PDF内的图像资源,仅在原有文件基础上叠加OCR识别得到的隐形文字层,输出文件体积仅会比原文件增加几百KB的文字数据,完全保留原有画质与OCR识别准确率。
修改后的命令如下:
gswin64c -sOCRLanguage="fast/eng" -sDEVICE=pdfocr24 -dKeepOriginalImages -o out.pdf in.pdf
如果对彩色输出没有强制要求,也可以将pdfocr24替换为pdfocr8,进一步缩小额外占用的空间。
方案2:使用OCR专用工具实现需求
如果你的Ghostscript版本不支持上述参数,可以换用ocrmypdf工具实现需求,该工具基于Tesseract OCR引擎,默认策略就是保留原PDF的所有图像、排版资源,仅叠加OCR文字层,OCR识别准确率普遍高于Ghostscript内置OCR能力,使用命令如下:
ocrmypdf -l eng in.pdf out.pdf
方案3:对已生成的大体积OCR文件做二次压缩
如果你已经生成了大体积的OCR PDF,可以用Ghostscript的pdfwrite设备做二次压缩,删除冗余的图像数据、合并重复资源,在基本不损失画质与OCR层的前提下缩小体积,命令参考:
gswin64c -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress -dNOPAUSE -dBATCH -dDetectDuplicateImages=true -dCompressFonts=true -r300 -o compressed_out.pdf large_ocr_out.pdf
内容的提问来源于stack exchange,提问作者Hid Dencum
相关产品推荐
相关产品推荐

