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

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

조회 73회 댓글 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


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

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

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


● 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 프로그램 이용하여 파싱하기




  • 페이스북으로 공유
  • 트위터로  공유
  • 구글플러스로 공유
전체 59건 1 페이지
  • profile_image 아래와 같다. 아래에서 2개는 잘 안하는것● 눈에 안 보이는 문자 삭제해야 할 대상" " (ASCII 32 (0x20)), an ordinary space."\t" (ASCII 9 (0x09)), a tab."\n" (ASCII 10 (0x0A)), a new line (line feed)."\r" (ASCII 13 (0x0D)), a carriage return."\0" (ASCII 0 (0x00)), the NULL-byte."\v" (AS…
  • profile_image 다른 에디터에서 사용하던것이 생각나서 찾아 봤는데 기본단축키는 없지만 사용할 수 있는 기능이 있어서 설정 하게 되었습니다.이기능 없어도 사용하는데는 문제 없지만 아래쪽에 공백이 많으면 한줄을 당기려면 좀 지워야 하는데 이 기능을 사용하면 바로 공백 한칸 사이로 붙어 집니다. ● vscode 아래줄 당기는 기능(줄연결) 설정 방법은Ctrl + K 누르고 S 를 누르면 위 하면이 나옵니다. 그리고 join 으로 검색을 하신 다음 단축키 설정을 하면…
  • profile_image 우리가 흔하게 사용하는 크롬 브라우저를 이용하는 헤드리스 브라우저 입니다. 헤드리스 브라우저는 우리가 보는 GUI 환경 없이 웹사이트를 방문한다는 의미 입니다. 브라우저 이기 때문에 자바스크립트까지 모두 실제 브라우저와 같이 실행 됩니다.●  프록시서버를 경유할 경우--proxy-server=주소:포트● 실행하고 바로 나오는것이 아니라 약간 기다려야 한다.  - HTML 소스 보기: --dump-dom  - pdf로 저장하기: --print-t…
  • profile_image 거짓말에 대한 대응으로 필요한 아카이브 사이트 입니다.요즘은 트래픽이 많아지고 스토리지 용량 문제 인지 현재 확인 되어 사용 가능한것은 아래 2개 사이트만 있습니다. 그리고 제한도 있고 캡차를 넣어 되기도 합니다. 하지만 개인적으로 필요한 경우 한두개 가끔 저장해 두는데는 문제가 되지 않습니다.● 아카이브 사이트https://archive.org/web/web.phphttps://archive.ph/
  • profile_image 파일을 열었던것을 다시 여는 기능은 이전에(전날) 컴퓨터 재부팅 하고 나서 에디터플러스만 실행하면 자동으로 열리게 되면 굉장히 편한 점이 있습니다.단, 주의해야 할것은 여러사람이 같이 작업하는 경우 ftp를 통해 파일을 읽어 들인것은 수정 하고 반드시 닫아야 합니다. 자신도 모르게 저장해서 다른 직원이 작업한 것을 덮어 씌울 수 있습니다.도구 > 기본설정 을 통해서 위 이미지를 볼 수 있습니다.무척 편한 만큼 주의해서 사용하지 않으면 문제…
  • profile_image 기본적으로 제공되는 viewer.html 을 사용하면 잘 보입니다.그렇지만 예제 샘플을 통해 구현을 하면 한글이 제대로 표현이 안되는 경우를 볼 수 있는데요. 소스를 약간 수정해 주면 됩니다. 그리고 이 경우는 F12 디버깅 모드에서 404를 볼 수 있습니다. 이부분을 해결해 주면 한글을 표현해 줄 수 있습니다.제가 처리한 부분은 pdf.worker.js 파일에서 아래 부분을 수정해 주면 됩니다.제가 사용한 버전에선 22168 라인 이었습니다.…