Konvertieren eines .doc oder .pdf zu einem Bild und zeigt eine Miniaturansicht in Ruby?

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

  •  09-06-2019
  •  | 
  •  

Frage

Konvertieren eines .doc oder .pdf zu einem Bild und zeigt eine Miniaturansicht in Ruby?
Wer weiß, wie Dokumentminiaturen in Ruby zu erzeugen (oder C, Python ...)

War es hilfreich?

Lösung

Ein einfaches RMagick Beispiel ein PDF zu PNG zu konvertieren wäre:

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

ein MS Word-Dokument zu konvertieren, es wird nicht so einfach sein. Ihre beste Option sein kann, zunächst in eine PDF zu konvertieren, bevor die Vorschau zu erzeugen. Ihre Optionen für die Erzeugung des PDF hängen stark von dem O Sie laufen auf. Man könnte sein, Openoffice und die Python Open Document Converter zu verwenden. Es gibt auch Online-Conversion Services, die Sie könnten versuchen, einschließlich http://Zamzar.com .

Andere Tipps

Beispielcode den Kommentar von @aisensiy oben zu beantworten:

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

Auf der Grundlage der Hinweis in Antwort auf eine andere Frage:

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

Nicht sicher .doc Unterstützung in jeder Open-Source-Bibliothek, aber ImageMagick (und die RMagick gem) mit PDF-Unterstützung kompiliert werden (ich glaube, es ist standardmäßig aktiviert)

PDF-Unterstützung ist ein wenig Buggy in ImageMagick - aber es ist bei weitem das beste OS Weg für Rubin. Es gibt auch ein Google Summer of Code Projekt für reine Ruby-PDF-Unterstützung.

ich Sachen über die Verwendung von Openoffice ohne GUI gelesen habe .doc-Dateien zu verwandeln -. Aber es wird bestenfalls kompliziert sein

Wie die 2 vorherigen Plakate sagte, ImageMagick ist wahrscheinlich der einfachste Weg, um die Vorschaubilder zu erzeugen.

Sie könnte so etwas wie exec:

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

(Die einfachen Anführungszeichen Rubin sagen, es zu berappen).

Wenn Sie nicht möchten, dass exec verwenden, um die Konvertierung zu tun Sie das RMagick Juwel verwenden könnte es für Sie zu tun, aber es ist wahrscheinlich ein bisschen mehr Code.

Wenn Sie nichts dagegen nicht für Imgix bezahlen, es behandelt PDFs auch. Sie erhalten alle Vorteile eines schnellen CDN mit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top