una imagen fondo documento convertir convertidor como archivo ruby pdf doc

ruby - fondo - convertir imagen a documento



Convierte un.doc o.pdf a una imagen y muestra una miniatura en Ruby? (6)

Convierte un .doc o .pdf a una imagen y muestra una miniatura en Ruby?
¿Alguien sabe cómo generar miniaturas de documentos en Ruby (o C, python ...)


El soporte de PDF es un poco problemático en ImageMagick, pero es de lejos la mejor forma de OS para ruby. También hay un verano de google de Google Code para el soporte puro de Ruby PDF.

He leído cosas sobre el uso de OpenOffice sin la GUI para transformar archivos .doc, pero será complicado en el mejor de los casos.


No estoy seguro acerca del soporte de .doc en ninguna biblioteca de código abierto, pero ImageMagick (y la joya de RMagick) se pueden compilar con soporte pdf (creo que está activado por defecto)


Como dicen los 2 carteles anteriores, ImageMagick es probablemente la forma más fácil de generar las miniaturas.

Podría ejecutar algo como:

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

(Las comillas inversas le dicen a Ruby que lo descarte).

Si no quiere usar exec para hacer la conversión, puede usar la joya RMagick para hacerlo por usted, pero probablemente sea un poco más de código.


Un ejemplo simple de RMagick para convertir un PDF a PNG sería:

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

Para convertir un documento de MS Word, no será tan fácil. Su mejor opción puede ser primero convertirlo a PDF antes de generar la miniatura. Sus opciones para generar el PDF dependen en gran medida del SO en el que se esté ejecutando. Uno podría ser usar OpenOffice y Python Open Document Converter . También hay servicios de conversión en línea que puede probar, incluido http://Zamzar.com .


Si no te importa pagar Imgix, también maneja archivos PDF . Obtienes todos los beneficios de un rápido CDN con él.


Código de muestra para responder el comentario de @aisensiy arriba:

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

Basado en la pista pista en respuesta a otra pregunta:

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