इस समस्या के समाधान के लिए खोज करते समय मैं इस पोस्ट में भाग गया। जब आप एक पीडीएफ को जेपीईजी में परिवर्तित करते हैं तो यह अंत तक जुड़े सभी पृष्ठों के साथ एक लंबा पीडीएफ बनाता है, इसलिए आपको छवि को उस पहलू अनुपात में फसल करने की आवश्यकता होती है जिसे आप चाहते हैं और बाकी को छोड़ दें।
version :thumb_safari do #special version for safari and ios
process :resize_to_fit => [200,200]
process :convert => 'jpg'
process :paper_shape
def full_filename (for_file = model.logo.file)
super.chomp(File.extname(super)) + '.jpg'
end
end
version :thumb do #all browsers except safari
process :resize_to_fit => [200,200]
process :convert => 'jpg' #must convert to jpg before running paper shape
process :paper_shape
process :convert => 'jpg' #after running paper_shape it will default to original file type
def full_filename (for_file = model.logo.file)
super.chomp(File.extname(super)) + '.jpg'
end
end
def paper_shape
manipulate! do |img|
if img.rows*4 != img.columns*3
width=img.columns
height=img.columns/3*4
img.crop!(0,0,width,height,true)
else
img
end
end
end
नियंत्रक/दृश्य मैं UserAgent मणि इस्तेमाल किया और ऐसा किया: नीचे क्या मैं का उपयोग कर समाप्त हो गया है
documents_controller.rb
def index
@user_agent=UserAgent.parse(request.user_agent)
@search = Document.search(params[:q])
end
index.html.rb
<% 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 %>
इसमें कोई संदेह नहीं है कि ऐसा करने का एक बेहतर तरीका है लेकिन यह अभी काम कर रहा है।
स्रोत
2012-11-11 19:14:59