2012-07-22 9 views
6

Kann jemand eine mehrseitige pdf mit Büroklammer hochladen und jede Seite in ein JPEG umwandeln?Wie kann ich ein mehrseitiges PDF hochladen und mit Paperclip in JPEG konvertieren?

Jedes Mal, wenn ich ein PDF hochlade, kann ich nur die erste Seite des PDFs als JPEG sehen. Aber ich möchte in der Lage sein, jede Seite aus dem PDF in ein JPEG hochzuladen und zu konvertieren.

Gibt es ein Juwel oder Plug-in, die mir helfen können, ein 10-Pg-PDF hochzuladen und in der Datenbank als 10 JPEG-Dateien zu konvertieren/speichern?

Ich habe mir docsplit-images gem angeschaut, aber ich bin mir nicht sicher, ob das die beste Lösung der Lösung ist oder wie es funktioniert.

Post.rb

class Post < ActiveRecord::Base 
    belongs_to :Blogs 

    attr_accessible :content, :title, :pdf 

    has_attached_file :pdf, 
        :url => "/assets/products/:id/:style/:basename.:extension", 
        :path => ":rails_root/public/assets/products/:id/:style/:basename.:extension" 

    validates_attachment_content_type :pdf, 
     :content_type => [ 'application/pdf' ], 
     :message => "only pdf files are allowed" 
end 

_form.html.erb

<%= form_for ([@post]), :html => { :multipart => true } do |f| %> 

    <%= f.file_field :pdf %> 

<% end %> 

show.html.erb

<%= image_tag @post.pdf.url(:original) %> 
+0

Wenn Sie sagen, es nur sehen Sie die erste Seite, das bedeutet, beim Herunterladen der PDF-Datei vom Server, richtig? Dieses Verhalten würde mich überraschen, da ich denke, dass Paperclip das PDF überhaupt nicht analysiert - es kopiert einfach die Binärdaten direkt auf Ihren Server - so wäre es wirklich seltsam, wenn jemand das PDF analysiert und auf eine Seite gekürzt hätte irgendwo während dieses Prozesses. – Matchu

+1

@Matchu im Grunde kann ich ein Bild der ersten Seite der PDF im Browser sehen. Ich möchte in der Lage sein, durch alle zehn Seiten zu scrollen. Gibt es sowieso, um das zu tun? –

+0

Wofür ist die URL: Teil? Wie unterscheidet es sich von: Pfad? – Jwan622

Antwort

6

Mit einem Image-Tag für das macht keinen Sinn. Ändern Sie Ihren image_tag in einen normalen Link und Sie können alle Seiten herunterladen und anzeigen.

<p> 
    <%= link_to 'My PDF', @post.pdf.url %> 
</p> 
+0

Ich möchte in der Lage sein, jede PDF-Seite zu durchlaufen, um in einem Galerieformat zu zeigen. Oder beim Hochladen können Sie die PDF in mehrere JPEGs konvertieren, um sie dann in einem Galerieformat anzuzeigen. –

+1

@SurgePedroza diese Frage ist über 2 Jahre alt, Sie sollten eine neue öffnen, anstatt sie zu ändern, wenn Sie neue Anforderungen haben. Sonst wird es weniger wahrscheinlich gesehen und beantwortet. –