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

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

조회 1,980회 댓글 0건
  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기

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

얼마나 잘 되는지 확인해 봐야겠지만 아래와 같습니다. 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 프로그램 이용하여 파싱하기




  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기
전체 234건 1 페이지
  • profile_image 오늘 정말 간단한 프로그램인데.json 결과를 입력만 시키면 되는 그런 프로그램 입니다.그런데 DB 테이블 만들어 달라고 했더니 정규화 시키고 쪼개서 해서 여러개 만들고프로그램은 복잡 복잡 복잡하게 만들어서 제가 간단하게 지침서 만들어서 다시 작성 했습니다. 의자가 필요하면 간단하게 의자만 만들면 되지 복잡할 필요가 없습니다.▷ 바이브코딩이란2025년 초 안드레이 카파시가 만든 말로 코드를 직접 읽고 이해하는 대신 — 자연어로 원하는 걸 설명하고 → AI가 짜주면 → 돌려보고 → 에러 나면 그대로 붙여넣고 → 될 때까지 반복하는 방식인데 핵심 태도는 "코드가 존재한다는 사실 자체를 잊는다"는 것으로 프…
  • profile_image 자세한 내용은 아래 영상 보시면 잘 나와 있습니다.모두의창업, 유출 사고? 무슨 일인가. 문제있는 개발 패턴들 결론은 간단한데 백엔드에 불편해도 반드시 필요한것만 요청하고 보내주면 된다.아래에서 보통이란것은 대체로 그랬다는 것입니다.그리고 사람은 예전에 사용하던 방식하면 구닥다리 라고 생각하는 잘못된 편견을 가지고 있을까요 없을까요?▷ 예전 개발 방식은- 보통 백엔드에서 모든 것을 만들어 보내주는 방식▷ 요즘은 - 다 그런것은 아니지만- 리엑트 같은 프론트엔드 개발자가 별도 있어서 서버에서 중요데이터만 받아서 보여주는 방식- 여기서 문제가 생긴것인데 프론트엔드와 백엔드 개발자간 데이터 필요한것만 보내지 않고 다…
  • profile_image RealVNC는 원클릭 접속할 수 있도록 편리하게 되어 있는데 UltraVNC 는 뷰어 클릭해서 등록된 서버 선택해야 하는 불편함이 있습니다.이 부분을 아래와 같은 방법으로 일부 해소가 가능 합니다.1) C:\Users\로그인계정\AppData\Roaming\UltraVNC 파일을 복사 바탕화면에 두고 사용원하는 접속 서버 .vnc 파일을 바탕화면으로 복사 해서 원클릭 하여 사용하면 됩니다.중요한 부분이 있는데 .vnc 파일을 열어서 8bit=1 부분으로 되어 있으면 0으로 바꿔주세요.화면에 표현하지 못하는 경우도 있고 그렇기 때문에 .vnc 파일 클릭하는 경우만 파란색으로 나오고 이상하다면 …
  • profile_image 코드자동완성 테스트한 vscode용 확장 프로그램 continue 다운로드 사용자가 엄청나게 많은데 ... 결론 부터 말하면 실패입니다. 아래 설정이 약간 잘못 되었을수 있겠지만.채팅은 잘 되는데 코드 자동완성이 잘 안됩니다.하지만 테스트 하고 싶은분 그리고 제가 나중에 다시 테스트 해볼 경우 필요할 수 있어 올리는 글입니다. 위 이미지에서 Main Config 라고 마우스 올리면 그 옆에 톱니가 나오는데 그걸 클릭해야 합니다.잘못 만들어져서 화면이 겹치는 문제가 있습니다.제 설정은 위 이미지에 대한것은 아래와 같습니다.name: lmstudioversion: 1.0.0schema: v1models:&…
  • profile_image 내가 준 먹이를 소화해서 다른 사용자에게 주면 곤란한 문제가 생길것 같아 직접 이용해 보기로 했습니다.결론 부터 말하면 잘하는 인공두뇌에 먹이 주면서 사용하는것이 낳으니 테스트 해보고 싶으신 분들을 위해서 남기는 글 입니다.사용한 확장 프로그램    twinny - AI Code Completion and Chat    Identifier: rjmacarthy.twinny 위처럼 설정하고 자신에 맞게 모델이나 IP주소 같은것만 변경해주면 됩니다.전 UI가 좋은 LM스튜디오 사용.이걸 빠르게 사용하려면 애플 실리콘 M5 Max 노트북 16인치 추천합니다.램은 최소 64G 가능하…
  • profile_image 무슨일인지 업그레이드 실패까지 생겼는데.... 왠지 모르지만 안되는게 참 많습니다.이런 경우 다시 설치하면 되긴 합니다.아마도 추측은 초기 설치 할 때 전체 사용자 선택을 해서 설치 했는데 업그레이드는 현재 유저 기준으로 해서 그런것이 아닌가 싶습니다. old 라고 된것 삭제 삭제하고new_ 이렇게된것 new_ 삭제하고 다시 실행하고 vscode에서 Help > Check for Updates 해주고 다시 시작하면 됩니다.이때 작업표시줄에 고정한게 있으면 그것 클릭하지 말고(삭제하고) 새로 설치된 아이콘 클릭해서 실행 하면됩니다.
  • profile_image vscode 사용하면 안되는것이 참 많지요.잘 되던것도 안되고 무료가 이런게 문제인데... 유료로 갈아 타려 했는데 매달 비용발생 때문에 ...어떤 것은 그것을 또 배워야 되서 할일도 못하는데 공부해야 되고 ...우선 그때 그때 수정해서 사용합니다.▷ 파일이 열리지 않는 원인은?natizyskunk SFTP 확장(1.16.3)에 내장된 구버전 ssh2 라이브러리가 Node.js의 util 모듈에서 isDate 함수를 가져다 쓰는데최신 VS Code 1.123.0이 이전에 제공되던 'isDate' 함수를 제거하면서 잘 작동하던 프로그램에 문제가 발생그래서 SFTP 연결(목록 조회)은 되지만 실제로 파일을 열거나 다운로드할…

상업적 이용 금지. 컨텐츠는 개인 용도로만 사용이 가능 합니다.