WindowsでImagemagickを使ってローカルのコマンドラインでpdfから画像を作る方法
ImageMagickという超便利な画像変換ソフト?を使ってpdfを画像にしてしまう方法です。
最初にダウンロードページでWindows Binary ReleaseからImageMagick-7.0.3-5-Q16-x64-dll.exeを選択し、ダウンロード&インストールします。
詳しいインストール方法は、
ImageMagickのインストール - Qiita
さて、コマンドプロンプトでファイルのあるディレクトリに移動して下のコマンドを実行
convert hoge.pdf hoge.jpg
するとエラーが出てしまいました。これを解決するためにはGhostscriptというPDF用のプログラムが必要なようです。
Ghostscript: Ghostscript Downloads
↑これの「GNU Affero General Public License」のものをインストールして開くと、さらにインストールしろとダイアログが出るのでそれもインストールすると動きました。
以上、動いたことの報告でした。
[2016-11-08追記]
pdfを変換したところ、画質がすごく悪くびっくり!以下のサイトを参考にコマンドを叩くときれいになりました。
takuya-1st.hatenablog.jp
javascriptでBadApple!!
作品URL
http://matayoshi.nkmr.io/js/badapple/
この記事の作品 https://service.matatsuna.net/badapple-old/
改良版 https://service.matatsuna.net/badapple/
(以上 更新 2018/08/17)
BadApple!!とは?
音楽同人サークル「Alstroemeria Records」による東方アレンジ曲"Bad Apple!! feat. nomico"のPV字コンテをPVにした作品の一つである。
【東方】Bad Apple!! PV【影絵】 (sm8628149) - ニコニコ大百科
東方の曲のPVを考えて手書きで書いた動画
www.nicovideo.jp
を実際に白黒pvにしてしまった。というお話
www.nicovideo.jp
その動画のパロディ-がたくさん生まれています。
www.nicovideo.jp
実装について
1. 動画をffmpegを使い、1秒10フレームで切り出して2190枚の画像を生成します。
2. processingで画像を読み込んで白黒を判定し、jsで読み込めるように配列形式でテキストに吐き出します。
https://gist.github.com/eb68c1d404ae33f9a47c5c4fa852bf34:tile
3. tableを準備して、その中に配列から読みだしたデータをどんどん追加する処理をsetintervalでfps10で回します。
4. 完成!!
感想
作ってて超楽しかった。重いかな?とか粗すぎて見えないかな?っておもってたのですがしっかりそこそこ見えて感動しました。
ただ、画像をURIスキームを使って入れたとしても、厳しいのは残念でした。(環境にもよるかもしれないが)
参考URL
tableタグで二次配列を取り出す方法
[jQuery] tableの内容を取得する | きほんのき
ffmpegのコマンド
ffmpegで動画から静止画を抜き出す
jsの配列について
JavaScriptプログラミング講座【配列について(Array)】
htmlのaudioタグについて
HTML5 audioタグを使って音声を再生する方法 | TechBooster
etc
togetterをpython3系でスクレーピングしてtsvファイルを作る
togetter とは
Twitterで公開されているツイートをドラッグアンドドロップで選び、1画面にまとめて表示できる。文字の色を替えたり、時系列に並んでいるつぶやきの順序を入れ替えたりもできる。自分で投稿したツイートや他人のツイートから面白いものを抜き出す、イベントなどの実況報告を抜き出す、論争が起きた場合に各論者の立場をわかりやすくするなどの使い方がある。(wikiより)
togetter.com
簡単に言うと、Twitterのまとめサイト的なものです。
Twitterを分析するためにtsvファイルに
大学の授業では発表会が多く、そのたびに実況ツイートをtogetterにまとめて頂いてます。
今回、そのデータを使って、Twitterの分析をすることになり、python3.5でスクレーピングしてtsvファイルを生成することにしました。
ソース
欠点
ただ、上記のコードだと、26番目から50番目のツイートを取得する処理をしてないので、完全なデータではありません。プルリクエストいただけたら嬉しいです。
工夫点
最後のページに来たことを調べるために、各ページの最後のツイートの時間を取得して、比較してます。headerみてリダイレクト処理かかったらででも良かったかもしれません。
久しぶりのpythonで書くのが大変でした。やっぱり慣れないな....