명령 줄에서 PDF 파일을 어떻게 검색합니까?


26

논문의 참조를 확인하고 있으며 참고 문헌 목록에서 일부 논문이 참조되는 본문의 위치를 ​​찾고 싶습니다. bash를 통한 검색을 지원하고 위치의 컨텍스트를 추출하는 PDF 편집기가 있습니까? PDF를 텍스트로 변환하려고 시도했지만 좋은 결과를 얻지 못했습니다.

답변:


22

위의 답변에 추가하기 위해, 특히 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!를 사용하려면 터미널 쉘을 사용해야 할 수도 있습니다.

행운을 빕니다!


20

포플러 유틸리티

참고 : xpdf-utils poppler-utils 의 임시 패키지 입니다.

poppler-utils를 사용할 수 있습니다. poppler-utils는 PDF (Portable Document Format) 파일 용 도구 모음입니다.

설치하려면 Ubuntu Software Center를 사용하거나 아래를 클릭하십시오.

poppler-utils 설치

pdfgrep

pdfgrep디렉토리 트리에서 재귀 적으로 PDF 파일에서 문자열 또는 패턴을 검색하고 일치 항목을 계산하거나 각 일치 항목에 대한 컨텍스트를 인쇄 할 수 있습니다. 예를 들어, 재귀 적으로 검색 할 수 keyword에서 /some directory, 사례를 구분 :

pdfgrep -Ri keyword /some/directory

Pdfgrep은 PDF 파일에서 텍스트를 검색하는 도구입니다. `grep '과 비슷하게 작동합니다.

풍모:

  • 정규식을 검색하십시오.
  • + 파일 이름 출력을 포함한 몇 가지 중요한 grep 옵션 지원. + 페이지 번호 출력. + 선택적 대소 문자 구분. +
    발생 횟수.
  • 가장 중요한 기능 : 컬러 출력!

pdfgrep 설치

1 출처 : Ubuntu Apps 디렉토리


6

pdfgrep을 사용하여 여러 pdf 파일에서 정규식을 검색하려면

find /path -iname '*.pdf' -exec pdfgrep -H 'pattern' {} \;

여기서 경로는 pdf 파일의 위치입니다.


0

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.