답변:
위의 답변에 추가하기 위해, 특히 pdftotext라는 xpdf-utils의 명령 줄 도구를 사용하고이 도구로 작성된 텍스트 문서를 grep으로 검색 할 수 있습니다.
이것은 다음과 같이 보일 수 있습니다.
pdftotext document.pdf - | grep -C5 -n -i "search term"
매뉴얼에 더 많은 정보가 있습니다. pdftotext의 유일한 단점은 여러 파일을 동시에 변환하기 위해 globbing 할 수 없다는 것입니다. 이 문제는 작은 bash 스크립트로 극복 할 수 있습니다.
for f in pdf_directory; do echo $f; pdftotext $f - | grep -i "search_term"; done
호환되지 않는 pdf 파일로 인해 PDF에서 텍스트 문서를 작성하는 데 문제가있는 경우 이는 또 다른 문제입니다.
필자는 일반적으로 pdf 편집기는 그래픽이기 때문에 명령 줄을 포함하지 않는다고 생각합니다. bash 또는 zsh!를 사용하려면 터미널 쉘을 사용해야 할 수도 있습니다.
행운을 빕니다!
참고 : xpdf-utils 는 poppler-utils 의 임시 패키지 입니다.
poppler-utils를 사용할 수 있습니다. poppler-utils는 PDF (Portable Document Format) 파일 용 도구 모음입니다.
설치하려면 Ubuntu Software Center를 사용하거나 아래를 클릭하십시오.
pdfgrep
디렉토리 트리에서 재귀 적으로 PDF 파일에서 문자열 또는 패턴을 검색하고 일치 항목을 계산하거나 각 일치 항목에 대한 컨텍스트를 인쇄 할 수 있습니다. 예를 들어, 재귀 적으로 검색 할 수 keyword
에서 /some directory
, 사례를 구분 :
pdfgrep -Ri keyword /some/directory
Pdfgrep은 PDF 파일에서 텍스트를 검색하는 도구입니다. `grep '과 비슷하게 작동합니다.
풍모:
- 정규식을 검색하십시오.
- + 파일 이름 출력을 포함한 몇 가지 중요한 grep 옵션 지원. + 페이지 번호 출력. + 선택적 대소 문자 구분. +
발생 횟수.- 가장 중요한 기능 : 컬러 출력!
1 출처 : Ubuntu Apps 디렉토리
pdftotext가 성공하지 못한 이유는 PDF를 스캔하여 이미지를 스캔해야하기 때문일 수 있습니다. 나는 ed와 OCR pdf
을 사용할 수없는 모든 파일을 빠르게 검색 할 수있는 방법을 썼습니다 grep
.
있을지 주목 pdf
파일은 일반적으로 검색 할 수 없습니다 어떤 글꼴이 없습니다. 이것을 알면 사용할 수 있습니다 pdffonts
.
의 첫 두 줄은 pdffonts
표 머리글이므로 파일을 검색 할 수있을 때 두 줄 이상의 출력이 있으면이를 알 수 있습니다.
gedit check_pdf_searchable.sh
붙여 넣기
#!/bin/bash
#set -vx
if ((`pdffonts "$1" | wc -l` < 3 )); then
echo $1
ocrmypdf "$1" "$1"_ocr.pdf
fi
그런 다음 실행 가능하게하십시오.
chmod +x check_pdf_searchable.sh
그런 다음 디렉토리에 검색 할 수없는 모든 PDF를 나열하십시오.
ls -1 ./*.pdf | xargs -L1 -I {} ./check_pdf_searchable.sh {}
또는 디렉토리 및 해당 서브 디렉토리에서 :
tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} ./check_pdf_searchable.sh {}
또한 설치해야합니다.
sudo apt install ocrmypdf