memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

GoogleスプレッドシートをHTMLとして公開したページを無理やり印刷する方法...

はじめに

とある学会に参加予定でして、タイムテーブルらしきものが公開されたようなんです。そのタイムテーブルがなんと。。。Googleスプレッドシートで、しかもそのまま公開するのではなくWebサーバに載せたかったのでしょう。

やったことはないですがGoogleスプレッドシートのメニューからWebに公開を選択すると(Web公開というキーワードがありますのでこれで作成した)HTMLの埋め込みタグ(リンク?)のようでした。

どんなものかお見せしたいところですがまだベータ版のようでして問題があるかもなのでやめておきます。

何が問題か?

で、事務は今日から夏休みに入るそうなんですが、学会参加費の資料としてプログラムを提出するように言われていたんですね。。。で、これ印刷しなきゃ。。。って思ったんです。

Chromeで印刷すると。。。見えている部分しか印刷されません。たまにあるやつです。ありゃりゃ。。。色々と試してみましたがダメでした。

結局、どーしたの?

(1) Chromeの拡張機能でまずページ全体をスクショし画像として保存しました。

chromewebstore.google.com

(2) GoogleスプレッドシートでWeb公開したページにはめちゃくちゃ広い余白がついているんです。恐らくシート全体をWebページとみなして変換しているからでしょう。しかたがないので、Macのプレビューで画像を開いて、手動でタイムテーブルの部分だけ選択して、クリップボードに持っていって別の画像ファイルにしました(クリップボードから新規作成っていうメニューがあるので)。

(3) これで一応、タイムテーブルだけの超縦長の画像ができあがったわけです。あとはこの画像をだいたいA4サイズのアスペクト比になるようにクロップしていきます。これはImageMagikが使えます。「ImageMagik インストール」とかでググると出てくると思います。

(4) で、ターミナルを開いて以下のようなコマンドを実行します。超縦長の画像なので横1枚、縦25枚の画像に分割するような指定になっているわけです。25という数字は僕の場合の話で、画像をみながらA4サイズっぽくなるように枚数を調節してください。

convert a.png -crop 1x25@ +repage +adjoin b.png

これで、b-0.pngからb-24.pngというファイルが生成されます。

(5) あとは、これもMacなんですが、全画像を選択して右クリックして開くとプレビューが自動的に立ち上がります。あとは全ページを選択して印刷(PDFとして出力)すれば、複数ページをもった1つのPDFファイルになります。

とりあえず、見た目はWebページをまるごと印刷したような感じですので通用するかな。。。というところです。

なんか余計な手間をかけなければならないのがなんだかな。。。という感じですが。中の人ではないのでしかたがないですね。。。

画像がないので何ともわかりにくい説明だったと思いますが、とりあえずこの手順をあとでまた使いそうでしたのでメモしておきました。