.doc 또는 .pdf를 이미지로 변환하고 Ruby에서 썸네일을 표시하시겠습니까?

StackOverflow https://stackoverflow.com/questions/65250

  •  09-06-2019
  •  | 
  •  

문제

.doc 또는 .pdf를 이미지로 변환하고 Ruby에서 썸네일을 표시하시겠습니까?
Ruby(또는 C, Python...)에서 문서 축소판을 생성하는 방법을 아는 사람이 있습니까?

도움이 되었습니까?

해결책

PDF를 PNG로 변환하는 간단한 RMagick 예는 다음과 같습니다.

require 'RMagick'
pdf = Magick::ImageList.new("doc.pdf")
thumb = pdf.scale(300, 300)
thumb.write "doc.png"

MS Word 문서를 변환하는 것은 쉽지 않습니다.가장 좋은 방법은 축소판을 생성하기 전에 먼저 PDF로 변환하는 것입니다.PDF 생성 옵션은 실행 중인 OS에 따라 크게 달라집니다.하나는 OpenOffice를 사용하는 것입니다. Python 개방형 문서 변환기.다음과 같이 시도해 볼 수 있는 온라인 전환 서비스도 있습니다. http://Zamzar.com.

다른 팁

위의 @aisensiy의 의견에 답변하는 샘플 코드는 다음과 같습니다.

require 'rmagick'
pdf_path = "/path/to/interesting/file.pdf"
page_index_path = pdf_path + "[0]" # first page in PDF
pdf_page = Magick::Image.read( page_index_path ).first # first item in Magick::ImageList
pdf_page.write( "/tmp/indexed-page.png" ) # implicit conversion based on file extension

다른 질문에 대한 답변의 경로 단서를 기반으로 합니다.

https://stackoverflow.com/a/6369524/765063

오픈 소스 라이브러리의 .doc 지원은 확실하지 않지만 ImageMagick(및 RMagick gem)은 pdf 지원으로 컴파일될 수 있습니다(기본적으로 켜져 있는 것 같습니다)

PDF 지원은 ImageMagick에서 약간 버그가 있지만 Ruby에 있어서는 단연 최고의 OS 방식입니다.순수 Ruby PDF 지원을 위한 Google 여름 코드 프로젝트도 있습니다.

GUI 없이 OpenOffice를 사용하여 .doc 파일을 변환하는 방법에 대한 내용을 읽었지만 기껏해야 복잡할 것입니다.

이전 2개의 포스터에서 말했듯이 ImageMagick은 아마도 썸네일을 생성하는 가장 쉬운 방법일 것입니다.

다음과 같이 실행할 수 있습니다.

´convert -size 300x300 doc.pdf doc.png´

(역따옴표는 Ruby에게 이를 제거하라고 지시합니다).

exec를 사용하여 변환을 수행하고 싶지 않다면 RMagick gem을 사용하여 변환할 수 있지만 아마도 코드가 조금 더 필요할 것입니다.

Imgix에 비용을 지불해도 괜찮다면 PDF 처리 도.이를 통해 빠른 CDN의 모든 이점을 얻을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top