12
votes

Comment créer une vignette pour la première page PDF avec CarrierWave

Je traite la vignette du fichier PDF de cette manière: xxx

mais lorsque le fichier PDF est multipage, il produit des vignettes pour toutes les pages dans un fichier JPG. Y a-t-il un moyen de produire des vignettes uniquement pour la première page?


0 commentaires

3 Réponses :


15
votes

J'ai soumis un patch plus tôt cette année pour faire juste ceci. Utilisez un processeur personnalisé:

def cover 
  manipulate! do |frame, index|
    frame if index.zero?
  end
end

process :cover


0 commentaires

3
votes

J'ai couru sur ce post lors de la recherche d'une solution à ce même problème. Lorsque vous convertissez un PDF en JPEG, il crée un long pdf avec toutes les pages fixées à la fin, vous devez donc recadrer l'image sur le rapport de format que vous souhaitez et jetez le reste. Vous trouverez ci-dessous ce que j'ai fini par utiliser: xxx pré>

dans le contrôleur / affichage J'ai utilisé la gemme userAgent et a fait ceci: p>

documents_controller.rb p>

<% if @user_agent.browser.downcase == 'safari' %>
<%= link_to(image_tag(doc.pdfdoc_url(:thumb_safari).to_s, :class=>"dropshadow", :size => "150x225"), doc.pdfdoc_url)%>
<% else %>
<%= link_to(image_tag(doc.pdfdoc_url(:thumb).to_s, :class=>"dropshadow", :size => "150x225"), doc.pdfdoc_url)%>
<% end %>


0 commentaires

8
votes

Grande solution de TANZEEB! Merci.

Donc, je pourrais faire quelque chose comme ceci: xxx

et utilisé ceci pour la génération du pouce xxx

Génial!


0 commentaires