それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

SlideShareのスライド画像をまるっと保存してオフラインで見る。

slideshare 最近厳しい

slideshare がlinkedin になってから色々と厳しかったり、PDFをちょとお電波の届かないところで参照資料に出そうと思っても、不便すぎる

世の中100%オンラインと限らないんで。。。

表示しているJPGを手作業でキャッシュする

自作のブラウザで、JPG画像をキャッシュしてPDFに焼き直す

#!/usr/bin/env ruby 
#

require 'prawn'
require 'mechanize'
require 'open-uri'

m = Mechanize.new
m.get ARGV.shift

list =  m.page.search('//img[@class="slide_image"]/@data-full').map{|e| e.text() }


Prawn::Document.generate(( m.page.title.to_s+ ".pdf") ,:page_layout => :landscape, :page_size=>"A4") do 
  list.each{|image_url|
    image( open(image_url), :fit=>[800, 450] ) #フィットサイズはあとで考えたほうが。。。。
  }

end

prawn つかうと多少画像サイズが合わないので、サイズの微調整が面倒ですね。16:9スライドや4:3スライドを判別しないといけない。

面倒なときは、まるっとキャッシュしして、convert コマンドやpdftkにかけちゃったほうがいいかもね。

参考資料

http://takuya-1st.hatenablog.jp/entry/2015/01/18/223308

http://mechanize.rubyforge.org/Mechanize/Download.html

http://prawnpdf.org/docs/0.11.1/Prawn/Images.html

https://github.com/chou3ib1/slideshare-download-disabled-pdf

自作ブラウザとかキャッシュとか、そういう曖昧な表記は、規約云々が面倒だから、mechanize はブラウザ です!