[RUBY-ON-RAILS] 루비 : PDF 파일을 읽기
RUBY-ON-RAILS루비 : PDF 파일을 읽기
나는 빠르고 (Linux 및 OSX에) 루비 / 구문 분석이 큰 PDF 파일을 읽을 수있는 신뢰할 수있는 방법을 찾고 있어요.
지금까지 내 대부분의 파일을 읽을 수 없습니다 오히려 오래되고 간단한 PDF-툴킷 (A pdftotext-래퍼) 및 PDF 리더를 발견했습니다. 두 라이브러리는 내가 찾던 정확히 기능을 제공하지만.
내 질문은 : 되세요 내가 뭔가를 놓친? 내 문제를 해결하기 위해 (더 빠르고 더 신뢰할 수있는) 더 적합한 도구가 있습니까?
해결법
-
==============================
1.당신은 Docsplit 유용하게 찾을 수 있습니다 :
당신은 Docsplit 유용하게 찾을 수 있습니다 :
-
==============================
2.다른 방법을 시도 후, 지금 PDF-툴킷을 사용하고 있습니다. 그것은 아주 오래된,하지만 그것은 빠르고 안정적인입니다. 그것은 단지에서 xpdf 명령 행 유틸리티를 감싸고 있기 때문에 게다가, 그것은 정말 새로운 일 필요는 없습니다.
다른 방법을 시도 후, 지금 PDF-툴킷을 사용하고 있습니다. 그것은 아주 오래된,하지만 그것은 빠르고 안정적인입니다. 그것은 단지에서 xpdf 명령 행 유틸리티를 감싸고 있기 때문에 게다가, 그것은 정말 새로운 일 필요는 없습니다.
-
==============================
3.당신은 JRuby에서와 같은 ApachePDFBox 같은 자바 PDF 라이브러리 파서 (https://www.ohloh.net/p/pdfbox)를 사용할 수 있습니다. 또한 http://java-source.net/open-source/pdf-libraries 참조하십시오.
당신은 JRuby에서와 같은 ApachePDFBox 같은 자바 PDF 라이브러리 파서 (https://www.ohloh.net/p/pdfbox)를 사용할 수 있습니다. 또한 http://java-source.net/open-source/pdf-libraries 참조하십시오.
-
==============================
4.다음은 몇 가지 옵션이있다 :
다음은 몇 가지 옵션이있다 :
http://en.wikipedia.org/wiki/List_of_PDF_software
링크 및 검색 소스 포지에서, 이와 같은, 당신이 원하는 것을 할 수있는 명령 행 유틸리티의 몇 가지가있다 : http://pdftohtml.sourceforge.net/
당신의 요구 사항과 어떤 PDF 파일의 모양에 따라, 당신은 Google 문서 도구 API (PDF 파일을 업로드 한 후 텍스트로 다운로드)를 사용하여 볼 수도 있고, 또한 gocr 뭔가를 시도 할 수 있습니다. 나는 과거에 gocr 행운 구문 분석 이미지 텍스트를 많이 했어, 당신은 단지 그것을 할 쉘에게 반송해야 할 것 같은 gocr -i whatever.pdf (나는 그것이 PDF 파일과 함께 작동 생각한다).
이 모든 단점은 순수 루비 구현을하지 않은 것입니다,하지만 좋은 (무료) OCR 프로젝트의 많은 방법이 있다고 할 것으로 보인다.
-
==============================
5.그냥 PDF 파일에서 텍스트 콘텐츠를해야하는 경우, 소스 포지에서 pdftohtml 효율적입니다. 그것은 이미지 처리에 적합하지 않습니다.
그냥 PDF 파일에서 텍스트 콘텐츠를해야하는 경우, 소스 포지에서 pdftohtml 효율적입니다. 그것은 이미지 처리에 적합하지 않습니다.
-
==============================
6.당신은 CombinePDF 라이브러리를 살펴 있었나요?
당신은 CombinePDF 라이브러리를 살펴 있었나요?
그것은 '등의 기본 텍스트와 테이블을 작성, 다른 통해 하나의 PDF 페이지, 페이지 번호를 오버레이 등 추출하는 페이지로, 일부 PDF 조작을 할 수있는 순수 루비 솔루션입니다.
여기에 로고가 기존의 PDF 파일을 유세에 대한 예입니다. 이 예는 PDF 파일을 읽고 스탬프 및 우표 다른 PDF 파일로 사용하는 한 페이지를 추출합니다.
require 'combine_pdf' company_logo = CombinePDF.load("company_logo.pdf").pages[0] pdf = CombinePDF.load "content_file.pdf" pdf.pages.each {|page| page << company_logo} pdf.save "content_with_logo.pdf"
또한 텍스트, 숫자 페이지 또는 사용을 근절 할 수 있습니다 :
require 'combine_pdf' pdf = CombinePDF.load "content_file.pdf" pdf.number_pages #adds page numbers. you can add formatting and placement options. pdf.pages.each {|page| page.textbox "One Way To Stamp"} #you can a shortcut method to stamp pages pdf.stamp_pages "Another way to stamp" #you can use the shortcut method for both text and PDF stamps company_logo = CombinePDF.load("company_logo.pdf").pages[0] pdf.stamp_pages company_logo # you can use write simple tables pdf.pages[0].write_table headers: ['first name', 'surname'], table_data: [['John', 'Doe'], ['Mr.', 'Smith']] pdf.save "content_with_logo.pdf"
그것은 복잡한 작업에 대한 의미하지만, 대부분의 PDF 제작 라이브러리를 보완하고 대신 처음부터 모든 것을 작성하는 PDF 템플릿을 사용할 수 있습니다 아니에요.
from https://stackoverflow.com/questions/773193/ruby-reading-pdf-files by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 어떻게 양식 레일의 드롭 다운 <선택> 필드가하는? (0) | 2020.02.28 |
---|---|
[RUBY-ON-RAILS] 데이터베이스 어댑터에 대한 지정된 'mysql2',하지만 보석이로드되지 않습니다 보석 :: LoadError - 4 레일 (0) | 2020.02.28 |
[RUBY-ON-RAILS] 어떻게 URL에 루비에서 문자열을 인코딩 (0) | 2020.02.27 |
[RUBY-ON-RAILS] 레일에 루비 - 두 번 같은 모델을 참조? (0) | 2020.02.27 |
[RUBY-ON-RAILS] 레일 - 데이터 - * 속성을 가진 LINK_TO 도우미 [중복] (0) | 2020.02.27 |