Léo*_* 준영 8 python java pdf ocr debian
我的系统中有很多PDF文档,有时我注意到文档是基于图像的,没有编辑功能.在这种情况下,我在Foxit PhantomPDF中进行OCR以便更好地搜索,您可以在多个文件中进行OCR.我想找到我的所有基于图像的PDF文档.
我不明白PDF阅读器如何识别文档的OCR不是文本的.必须有一些这些读者可以访问的字段.这也可以在终端访问.这个答案提供了如何在线程中执行此操作的开放式建议检查PDF文件是否为扫描文件:
您最好的选择可能是检查它是否有文本,还可以查看它是否包含大页面图像或大量覆盖页面的平铺图像.如果您还检查元数据,则应涵盖大多数选项.
我想更好地理解你如何有效地做到这一点,因为如果存在一些元数据,那么它将很容易.但是,我还没有找到这样的元素.我认为最可能的方法是查看页面是否包含具有搜索OCR的页面化图像,因为它有效并且已经在某些PDF阅读器中使用.但是,我不知道该怎么做.
在Hugh变换中,在参数空间的超平方中有特定选择的参数.它的复杂性$ O(A ^ {m-2})$其中m是你看到的参数数量超过那些参数的问题很难.A是图像空间的大小.福昕阅读器在其实现中使用最可能的3个参数.边缘易于检测,可以确保效率,必须在Hugh变换之前完成.简单地忽略了损坏的页面.其他两个参数仍然未知,但我认为它们必须是节点和一些交叉点.如何计算这些交叉点是未知的?确切问题的表述尚不清楚.
该命令适用于Debian 8.5,但我无法在Ubuntu 16.04中最初使用它
masi@masi:~$ find ./ -name "*.pdf" -print0 | xargs -0 -I {} bash -c 'export file="{}"; if [ $(pdffonts "$file" 2> /dev/null | wc -l) -lt 3 ]; then echo "$file"; fi'
./Downloads/596P.pdf
./Downloads/20160406115732.pdf
^C
Run Code Online (Sandbox Code Playgroud)
操作系统:Debian 8.5 64位
Linux内核:4.6
后退硬件:华硕Zenbook UX303UA
聚会迟到了,这里有一个简单的解决方案,暗示已经包含字体的 pdf 文件不仅仅基于图像:
find ./ -name "*.pdf" -print0 | xargs -0 -I {} \
bash -c 'export file="{}"; \
if [ $(pdffonts "$file" 2> /dev/null | \
wc -l) -lt 3 ]; then echo "$file"; fi'
Run Code Online (Sandbox Code Playgroud)
作为单行
find ./ -name "*.pdf" -print0 | xargs -0 -I {} bash -c 'export file="{}"; if [ $(pdffonts "$file" 2> /dev/null | wc -l) -lt 3 ]; then echo "$file"; fi'
Run Code Online (Sandbox Code Playgroud)
说明:
pdffonts file.pdf
如果 pdf 包含文本,将显示超过 2 行。输出所有不包含文本的 pdf 文件的文件名。
我的 OCR 项目具有相同的功能,位于 Github deajan/pmOCR中。
归档时间: |
|
查看次数: |
633 次 |
最近记录: |