PDF를 다운로드한 다음 텍스트를 출력하는 방법은 무엇입니까?

PDF를 다운로드한 다음 텍스트를 출력하는 방법은 무엇입니까?

내 도시 수도 요금 청구서는 서버에서 호스팅되는 최신 PDF에 대한 링크로 매달 나에게 이메일로 전송됩니다. 이렇게 하면 언제든지 이 PDF를 쉽게 다운로드할 수 있습니다. 이 PDF를 받고 계정 잔액을 인출하려면 어떻게 해야 합니까? 이메일을 보내거나 문자 메시지를 보내거나 이와 유사한 것을 보내십시오.

답변1

코드는 세부 사항에 따라 다르지만 일반적인 접근 방식은 다음과 같습니다.

  • 홈페이지에 로그인(?)
  • wget파일에 링크된 페이지를 이용하거나 다운로드하세요curl
  • 페이지에서 PDF 링크를 받으세요
  • wget파일 사용 또는 다운로드curl
  • pdftotextpoppler-utils 또는 유사한 도구를 사용하여 PDF에서 텍스트 추출
  • 또는 so를 사용하여 grep텍스트 결과에서 원하는 데이터를 가져옵니다.

가장 복잡한 부분은 필요한 경우 로그인 프로세스입니다.


댓글을 남길 때 로그인할 필요가 없으며 고정된 URL이 있어 확실히 단순화됩니다. PDF를 다운로드하고 텍스트 콘텐츠를 직접 사용하여 데이터를 추출할 수 있습니다. 아래는 샘플 PDF 파일에서 행을 추출하는 예입니다. 이 줄에는 단어 ghostview와 버전 번호가 포함되어 있으며 예제 값으로 사용할 수 있습니다.

$ u='http://www.wave.org.au/jupgrade/images/sample.pdf'
$ curl -s "$u" | pdftotext - - | grep 'ghostscript '
• ghostscript ≥ 5.10 (for example from Red Hat Contrib) and ghostview

다음 단계는 간단한 숫자 값을 추출하는 것일 수 있습니다.

답변2

어쩌면 당신은 사용할 수 있습니다pdftotext:

$ pdftotext -layout transaction.pdf - | grep -C1 amount
                 19876.0
amount paid

이 프로그램은 소프트웨어 패키지의 일부이며 poppler-utils다음 명령을 사용하여 설치할 수 있습니다.

sudo apt-get install poppler-utils

이 옵션은 PDF 레이아웃을 최대한 가깝게 따르는 -layout데 사용됩니다 (그렇지 않으면 내 PDF 테이블 레이아웃이 텍스트 양식의 수와 거리가 멀습니다).pdftotextamount paid

관련 정보