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 ...)Convierte un .doc o .pdf a una imagen y muestra una miniatura en Ruby?
Respuesta
Un ejemplo sencillo RMagick para convertir un PDF a un 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 va a 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 el Python Open Document Converter. También hay servicios de conversión en línea que puede probar, incluido http://Zamzar.com.
No estoy seguro sobre el apoyo .doc en cualquier biblioteca de código abierto, pero ImageMagick (y la gema RMagick) puede ser compilado con soporte pdf (Creo que está activado por defecto)
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.
Como dijeron los 2 carteles anteriores, ImageMagick es probablemente la forma más fácil de generar las miniaturas.
Se podría exec algo como:
´convert -size 300x300 doc.pdf doc.png´
(Las comillas inversas dicen Rubí para bombardear a cabo).
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 código.
Código de ejemplo para responder a la observación formulada por @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
Sobre la base de la idea de trayectoria en respuesta a otra pregunta: ¿
Si no te importa pagar por Imgix, es handles PDFs también. Obtienes todos los beneficios de un rápido CDN con él.
- 1. exportar a excel, pdf y doc usando Ruby on Rails
- 2. Convertir Markdown + CSS a .doc o .pdf
- 3. Convertir PDF a imagen en miniatura en Java
- 4. Crear una vista previa en miniatura de documentos (PDF, DOC, XLS, etc.) en PHP (LÁMPARA)
- 5. Convierte el Geochart de Google a una imagen (JPEG, PNG, etc.) o PDF en el navegador
- 6. Miniatura de una página PDF (Java)
- 7. Convierte .doc a html en php
- 8. ¿Cómo convertir un pdf a una imagen?
- 9. .doc a pdf usando python
- 10. Crear imagen en miniatura para PDF en Java
- 11. Convierte archivos Word doc o docx en archivos de texto?
- 12. Convierte archivos .odt .doc .ods a archivos .txt
- 13. PIL: Miniatura y terminar con una imagen cuadrada
- 14. Android obtiene una ruta a la imagen desde la miniatura?
- 15. Convierta .pdf en imágenes usando RMagick & Ruby
- 16. Cómo convertir MS doc a pdf
- 17. Produce miniatura desde PDF en Android
- 18. Crear imagen en miniatura
- 19. Convertir pdf, doc, ppt a html5
- 20. Convierte (imprime) un archivo a PDF, ¿usando R? (en Windows)
- 21. ¿Cómo se convierte una 'Imagen' de PIL en un 'Archivo' de Django?
- 22. Lectura y decodificación de códigos de barras PDF-417 almacenados en una imagen o archivo PDF desde una aplicación .NET
- 23. ¿Cuál es una buena opción para convertir documentos de Office a PDF o Imagen
- 24. ¿Cómo publico un enlace a Facebook sin una miniatura?
- 25. Imagen en miniatura del video
- 26. Cómo indexar archivos .doc y .pdf en asp.net
- 27. convertir doc html a la imagen en el cacao
- 28. conversión de PDF a imagen
- 29. ¿Convierte HTML a Textile en Ruby?
- 30. Facebook Share no muestra mi descripción o mi miniatura
Funciona. Pero lleva mucho tiempo. ¿Puedo leer la primera página del pdf y obtener su versión de imagen? – aisensiy