xpdf를 활용하여 pdf 이미지 변환 텍스트추출 및 페이지수 확인하기 > 개발관련
개발관련

xpdf를 활용하여 pdf 이미지 변환 텍스트추출 및 페이지수 확인하기

조회 837회 댓글 0건

파일명을 보면 대략 무엇을 할 수 있는지 알 수 있습니다.

얼마나 잘 되는지 확인해 봐야겠지만 아래와 같습니다. pdf의 텍스트 추출하기 이미지변환 html변환등 일반적으로 필요할것 같은것은 모두 지원합니다. 안탑갑게도 한글을 사용하는 우리는 잘 되는지 추가적인 확인이 필요합니다.

xpdf-tools-linux-4.03/bin64/pdftotext

xpdf-tools-linux-4.03/bin64/pdfinfo

xpdf-tools-linux-4.03/bin64/pdftopng

xpdf-tools-linux-4.03/bin64/pdfimages

xpdf-tools-linux-4.03/bin64/pdftoppm

xpdf-tools-linux-4.03/bin64/pdftops

xpdf-tools-linux-4.03/bin64/pdfdetach

xpdf-tools-linux-4.03/bin64/pdffonts

xpdf-tools-linux-4.03/bin64/pdftohtml


● 아마존 리눅스2 xpdf 설치

[root@pabburi /usr/local/src/xpdf] yum install -y xpdf


[root@pabburi /usr/local/src/xpdf] pdfinfo 

pdfinfo version 0.26.5

Copyright 2005-2014 The Poppler Developers - http://poppler.freedesktop.org

Copyright 1996-2011 Glyph & Cog, LLC

Usage: pdfinfo [options] <PDF-file>

  -f <int>          : first page to convert

  -l <int>          : last page to convert

  -box              : print the page bounding boxes

  -meta             : print the document metadata (XML)

  -js               : print all JavaScript in the PDF

  -rawdates         : print the undecoded date strings directly from the PDF file

  -enc <string>     : output text encoding name

  -listenc          : list available encodings

  -opw <string>     : owner password (for encrypted files)

  -upw <string>     : user password (for encrypted files)

  -v                : print copyright and version info

  -h                : print usage information

  -help             : print usage information

  --help            : print usage information

  -?                : print usage information


사이트와 확인해 보니 버전 차이가 납니다.

그래서 아래와 같이 사이트에서 바이너리를 받아 사용하기로 하였습니다.

이런 경우는 흔하디 흔합니다. 이미지매직같이 많이 사용하는것은 아무래도 최신버전이 압축이나 기타 지원하는것들 뿐만 아니라 버그문제도 있을 수 있으니 최신 버전을 받아 사용해야 되는 것들이 있을 수 있습니다.


f08f4a3d7c3248096854e2720bc04fa9_1671330002_6993.png
 


● xpdf 다운로드

wget https://dl.xpdfreader.com/xpdf-tools-linux-4.03.tar.gz

tar xvfz xpdf-tools-linux-4.03.tar.gz


버전을 확인해 봅니다.

[root@pabburi /usr/local/src/xpdf] xpdf-tools-linux-4.03/bin64/pdfinfo 

pdfinfo version 4.03 [www.xpdfreader.com]

Copyright 1996-2021 Glyph & Cog, LLC

Usage: pdfinfo [options] <PDF-file>

  -f <int>          : first page to convert

  -l <int>          : last page to convert

  -box              : print the page bounding boxes

  -meta             : print the document metadata (XML)

  -rawdates         : print the undecoded date strings directly from the PDF file

  -enc <string>     : output text encoding name

  -opw <string>     : owner password (for encrypted files)

  -upw <string>     : user password (for encrypted files)

  -cfg <string>     : configuration file to use in place of .xpdfrc

  -v                : print copyright and version info

  -h                : print usage information

  -help             : print usage information

  --help            : print usage information

  -?                : print usage information

----------------------------------------------------------------------

   -f <int> : 변환할 첫 번째 페이지

   -l <int> : 변환할 마지막 페이지

   -box : 페이지 경계 상자를 인쇄합니다.

   -meta : 문서 메타데이터(XML) 인쇄

   -rawdates : PDF 파일에서 디코딩되지 않은 날짜 문자열을 직접 인쇄합니다.

   -enc <string> : 출력 텍스트 인코딩 이름

   -opw <string> : 소유자 암호(암호화된 파일의 경우)

   -upw <string> : 사용자 비밀번호(암호화된 파일의 경우)

   -cfg <string> : .xpdfrc 대신 사용할 구성 파일


xpdf를 활용하여 pdf 이미지 변환 텍스트추출 및 페이지수 확인하기 하기 위해서 간혹 페이지에 대한 정보를 먼저 알아야 되는 경우가 있습니다. 이럴때 이 pdfinfo 프로그램을 실행해서 필요한 정보을 알아내어 전체 페이지수가 얼마가 되는지 너무 많으면 100페이지까지만 할지등에 대한 조건을 정할때 사용이 됩니다.



▷ pdfinfo PHP 프로그램 이용하여 파싱하기




  • 페이스북으로 공유
  • 트위터로  공유
  • 구글플러스로 공유
전체 160건 1 페이지
  • profile_image 확실하게 설정에 문제가 없는 경우에 해당 하며 잘 되다가 갑자기 안된경우에만 해당 됩니다. 먼저 ping를 게이트웨이 까지 체크하고 그 다음 인터넷으로 나가는 ping 까지 문제 없는 경우.그런데 ping www.naver.com 했는데 인터넷주소(IP)가 나오지 않는 경우1. ipconfig /flushdns 명령을 내려봅니다.2. 위 명령으로도 안된다면 초기화 명령을 내립니다.주의할 점은 초기화 되어 다시 설정해야 하고 관리자 권한으로 명령…
  • profile_image CMD (명령 프롬프트)에서 DNS 설정 상태를 확인하려면  ipconfig /all 실행하면 됩니다.그러면 네트워크 인터페이에 대한 전체 정보가 나오는데 DNS 서버 부분을 보면 됩니다.   DNS 서버. . . . . . . . . . : 1.1.1.1                                 4.4.4.4그리고 DNS 쿼리의 작동 여부를 확인하려면nslookup 명령으로 nslookup www.google.com 을 입력 …
  • profile_image 아프지 않던 어깨나 목 등뼈 허리 등 언제 부터 인지 모르겠는데 이상하게 아픈 경우명절 처럼 긴 휴가를 지냈더니 아팠던 것이 없어진 경우분명한 자세 문제 입니다.아래는 전형적인 반듯한 자세 입니다.난 자세가 이렇다 하면 가끔 일어 나서 혈액 순환만 잘 되도록 밖에 잠깐 나갔다 오면 됩니다.대체로 책상, 의자, 모니터의 높이 조절이 필요합니다.권장하는 형태가 있지만 사람마다 다를 수 있으니 본인에게 맞는 형태를 찾는 것이 제일 좋습니다.● 모니터…
  • profile_image 원리를 알면 왜? 그런 현상이 있는지 알수 있습니다.대형 언어 모델(LLM) 소형언어 모델도 원리는 같기 때문에 어쩔 수 없는 부분인것으로 보입니다.단, 궁금한것이 우리 뇌도 나도 그런가?그건 아니죠. 그런것 같은게 있기는 한데 ...아래 그림을 보면 왜? LLM이 아무것이나 우선 대답을 하게 되는지 알 수 있습니다.어떤 것이든 가장 근접한 것을 내보내게 되어 있습니다.그래서 그렇습니다. 어느 일정 수치 이하이면 내보내지 않도록 하면 되겠지만 …
  • profile_image this exceeds GitHub's file size limit of 100.00 MB프로그램 파일은 아니고 가끔 정리하는것 백업으로 올리고 있는데 너무 큰 용량으로 인한 오류가 발생 했습니다.100메가 넘는 파일 때문에 문제가 발생 했는데 삭제 후 처리 하는 방법에 대한 것이다. nothing to commit, working tree cleanEnumerating objects: 57, done.Counting objects: 100% …
  • profile_image 마크다운 작성시 편하게 이미지 넣는 방법 입니다.텍스트로 작성의 장점이 있고 VSCODE 사용에 익숙하기 때문에 마크다운을 자주 이용하는데 한가지 불편한 점이 이미지를 넣는것이었습니다.간단하게 작성할때는 이미지를 줄이거나 늘이지 않기 때문에 문제 되지 않습니다.확장 프로그램을 설치하면 되는데 paste Image 입니다.우리가 클립보드에 넣는 Ctrl + C 하고 Ctrl + V 하면 현재 마크다운 파일이 있는곳에 자동으로 이미지가 생성 됩니다…
  • profile_image 엑셀에서 A 셀의 값을 이용하여 B 셀에 규칙적인 외부 링크를 만드는 것은 다음과 같은 방법으로 할 수 있다.하이퍼링크 수식 사용하기=HYPERLINK("https://www.example.com/Cform_" & trim(A1) & ".php", "Link to " & A1)- 이 수식은 A1 셀의 값을 URL의 일부로 사용하여 B 셀에 하이퍼링크를 생성합니다.- "http://www.example.com/"는 실제 링크…