![如何防止 hocr2pdf 使用 tesseract 生成的 .hocr 文件中的大字体?](https://linux22.com/image/1121297/%E5%A6%82%E4%BD%95%E9%98%B2%E6%AD%A2%20hocr2pdf%20%E4%BD%BF%E7%94%A8%20tesseract%20%E7%94%9F%E6%88%90%E7%9A%84%20.hocr%20%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E5%A4%A7%E5%AD%97%E4%BD%93%EF%BC%9F.png)
Tesseract 现在为 ocr 输出创建 .hocr 文件而不是 .html 文件,但这并不是这里的问题所在。当 hocr2pdf 使用此输出时,它使用自升级以来的大文本大小和小边界框。大多数文本甚至不会出现在生成的 pdf 中,而出现的少量文本是不可读且无法选择的。
我正在使用一个脚本,该脚本遍历目录中的每个 .tif 文件并对每个文件执行 ocr。我使用如下 for 循环:
for page in "$dir"/*page*.tif
do
base="${page%.tif}"
tesseract "$page" "$base" -l eng hocr
hocr2pdf -i "$page" -o "$base.pdf" < "$base.hocr"
done
我还尝试过通过切换到 hocr2pdf 来指定分辨率-r 400
,但这并没有带来任何变化。我只能假设当前版本的 tesseract 没有为 hocr2pdf 生成适当的输出。
Tesseract 是我唯一的 ocr 选项,因为它可以很好地处理冰岛语和古挪威语,因此转移到其他 ocr 工具可能不太可能。
答案1
一种可能的解决方案是直接从 tesseract 请求 PDF 输出。这似乎比通过 hocr2pdf 提供更好的结果。
tesseract "$page" "$base" -l eng pdf
或者
tesseract "$page" "$base" -l eng -c tessedit_create_pdf=1