GoodNotes 5 テンプレート
前回、iPad mini用のNoteshelf 2 のテンプレートを公開しましたが、
qunitama.hatenablog.com
GoodNotes 5 のテンプレートも作成してみましたので公開いたします。
注意事項
スクリプト
グラフ用紙版
#!/usr/bin/perl # --------------------------------------------------------------------- # Script Name : Template Create Script for Note Application # # Copyright (c) 2019 qunitama. All rights reserved. # --------------------------------------------------------------------- # --- 固定値 # --------------------------------------------------------------------- $MM_PER_IN = 25.4; # 1インチは25.4mm $FILE_WK1 = "wk_graph_1.png"; $FILE_WK2 = "wk_graph_2.png"; $FILE_PDF = "GN_graph.pdf"; # --------------------------------------------------------------------- # --- アプリの用紙エリアの実寸を記入 機種:iPad mini アプリ:Goodnotes # --------------------------------------------------------------------- $PAPER_AREA_X_MM_GN_IPADMINI = 120; #縦置き時の横幅をmmで記入 $PAPER_AREA_Y_MM_GN_IPADMINI = 137; #縦置き時の縦幅をmmで記入 $PAPER_AREA_X_PIX_GN_IPADMINI = 1536; #縦置き時の横幅をピクセルで記入 #縦置き時の縦幅(自動計算) $PAPER_AREA_Y_PIX_GN_IPADMINI = int($PAPER_AREA_X_PIX_GN_IPADMINI * $PAPER_AREA_Y_MM_GN_IPADMINI / $PAPER_AREA_X_MM_GN_IPADMINI); # --------------------------------------------------------------------- # --- 描画する方眼のサイズをmmで指定 # --------------------------------------------------------------------- $HOUGAN_SIZE_MM = 1; # --------------------------------------------------------------------- # --- 太線指定 # --- 5を指定すれば5本目は太線,0で太線なし # --------------------------------------------------------------------- $FUTOSEN_STEP = 5; # --------------------------------------------------------------------- # --- タイトル区切り線の位置を指定 # --- 10を指定すれば10本目は太線,0で区切り線なし # --------------------------------------------------------------------- $KUGIRISEN_POS = 10; # --------------------------------------------------------------------- # --- 機種とアプリを指定 # --------------------------------------------------------------------- $PDF_X_MM = $PAPER_AREA_X_MM_GN_IPADMINI; $PDF_Y_MM = $PAPER_AREA_Y_MM_GN_IPADMINI; $IMG_X_PIX = $PAPER_AREA_X_PIX_GN_IPADMINI; $IMG_Y_PIX = $PAPER_AREA_Y_PIX_GN_IPADMINI; # --------------------------------------------------------------------- # --- 生成倍率を指定 実寸で生成すると線が太いので2、3倍の大きさ生成 # --------------------------------------------------------------------- $BAIRITSU = 1.6; # --------------------------------------------------------------------- # --- 生成サイズを計算 # --------------------------------------------------------------------- $PDF_X_MM *= $BAIRITSU; $PDF_Y_MM *= $BAIRITSU; $IMG_X_PIX *= $BAIRITSU; $IMG_Y_PIX *= $BAIRITSU; $HOUGAN_SIZE_MM *= $BAIRITSU; # --------------------------------------------------------------------- # --- DPI計算 # --------------------------------------------------------------------- $PDF_DPI = $IMG_X_PIX / ($PDF_X_MM / $MM_PER_IN); # --------------------------------------------------------------------- # --- 描画する方眼のピクセル数を自動計算 # --------------------------------------------------------------------- $HOUGAN_SIZE_PIX = $IMG_X_PIX / $PDF_X_MM * $HOUGAN_SIZE_MM; # --------------------------------------------------------------------- # --- 色指定,太さ指定 # --------------------------------------------------------------------- $PAPER_COLOR = "#fafbfb"; $LINE_USU_COLOR = "#cccccc"; #薄い線の色 $LINE_USU_WIDTH = "1"; #薄い線の幅 $LINE_KOI_COLOR = "#767676"; #濃い線の色 $LINE_KOI_WIDTH = "1"; #濃い線の幅 $LINE_KUG_COLOR = "#767676"; #タイトル区切り線の色 $LINE_KUG_WIDTH = "3"; #タイトル区切り線の幅 # --------------------------------------------------------------------- # --- 描画ルーチン # --------------------------------------------------------------------- sub line_draw { my ($x1,$y1,$x2,$y2,$col,$width) = @_; $cmd = sprintf("convert -stroke xc:%s -strokewidth". " %s -draw 'line %d,%d %d,%d' %s %s", $col,$width,$x1,$y1,$x2,$y2, $FILE_WK1,$FILE_WK2); system($cmd); $cmd = sprintf("mv %s %s",$FILE_WK2,$FILE_WK1); system($cmd); } # --------------------------------------------------------------------- # --- 生成処理開始 # --------------------------------------------------------------------- # 用紙生成 $cmd = sprintf("convert -size %dx%d xc:%s %s", $IMG_X_PIX,$IMG_Y_PIX,$PAPER_COLOR,$FILE_WK1); system($cmd); # 縦線描画 $wk_x = $HOUGAN_SIZE_PIX; $count = 1; while($wk_x < $IMG_X_PIX){ if ($FUTOSEN_STEP>0 && $count % $FUTOSEN_STEP == 0){ line_draw($wk_x,0,$wk_x,$IMG_Y_PIX, $LINE_KOI_COLOR,$LINE_KOI_WIDTH); }else{ line_draw($wk_x,0,$wk_x,$IMG_Y_PIX, $LINE_USU_COLOR,$LINE_USU_WIDTH); } $wk_x += $HOUGAN_SIZE_PIX; $count++; } # 横線描画 $wk_y = $HOUGAN_SIZE_PIX; $count = 1; while($wk_y < $IMG_Y_PIX){ if ($FUTOSEN_STEP>0 && $count % $FUTOSEN_STEP == 0){ line_draw(0,$wk_y,$IMG_X_PIX,$wk_y, $LINE_KOI_COLOR,$LINE_KOI_WIDTH); }else{ line_draw(0,$wk_y,$IMG_X_PIX,$wk_y, $LINE_USU_COLOR,$LINE_USU_WIDTH); } $wk_y += $HOUGAN_SIZE_PIX; $count++; } # 区切り線描画 if ($KUGIRISEN_POS>0){ $wk_y = $HOUGAN_SIZE_PIX * $KUGIRISEN_POS; line_draw(0,$wk_y,$IMG_X_PIX,$wk_y, $LINE_KUG_COLOR,$LINE_KUG_WIDTH); } # PDFに変換して完成 $cmd = sprintf("convert -density %d -geometry %dx%d %s %s", $PDF_DPI,$IMG_X_PIX,$IMG_Y_PIX,$FILE_WK1,$FILE_PDF); system($cmd);
5mm方眼用紙版
#!/usr/bin/perl # --------------------------------------------------------------------- # Template Create Script for Note Application # # # --------------------------------------------------------------------- # --- 固定値 # --------------------------------------------------------------------- $MM_PER_IN = 25.4; # 1インチは25.4mm $FILE_WK1 = "wk_grid_1.png"; $FILE_WK2 = "wk_grid_2.png"; $FILE_PDF = "GN_grid.pdf"; # --------------------------------------------------------------------- # --- アプリの用紙エリアの実寸を記入 機種:iPad mini アプリ:Goodnotes # --------------------------------------------------------------------- $PAPER_AREA_X_MM_GN_IPADMINI = 120; #縦置き時の横幅をmmで記入 $PAPER_AREA_Y_MM_GN_IPADMINI = 137; #縦置き時の縦幅をmmで記入 $PAPER_AREA_X_PIX_GN_IPADMINI = 1536; #縦置き時の横幅をピクセルで記入 #縦置き時の縦幅(自動計算) $PAPER_AREA_Y_PIX_GN_IPADMINI = int($PAPER_AREA_X_PIX_GN_IPADMINI * $PAPER_AREA_Y_MM_GN_IPADMINI / $PAPER_AREA_X_MM_GN_IPADMINI); # --------------------------------------------------------------------- # --- 描画する方眼のサイズをmmで指定 # --------------------------------------------------------------------- $HOUGAN_SIZE_MM = 5; # --------------------------------------------------------------------- # --- 太線指定 # --- 5を指定すれば5本目は太線,0で太線なし # --------------------------------------------------------------------- $FUTOSEN_STEP = 0; # --------------------------------------------------------------------- # --- タイトル区切り線の位置を指定 # --- 10を指定すれば10本目は太線,0で区切り線なし # --------------------------------------------------------------------- $KUGIRISEN_POS = 2; # --------------------------------------------------------------------- # --- 機種とアプリを指定 # --------------------------------------------------------------------- $PDF_X_MM = $PAPER_AREA_X_MM_GN_IPADMINI; $PDF_Y_MM = $PAPER_AREA_Y_MM_GN_IPADMINI; $IMG_X_PIX = $PAPER_AREA_X_PIX_GN_IPADMINI; $IMG_Y_PIX = $PAPER_AREA_Y_PIX_GN_IPADMINI; # --------------------------------------------------------------------- # --- 生成倍率を指定 実寸で生成すると線が太いので2、3倍の大きさ生成 # --------------------------------------------------------------------- $BAIRITSU = 1.6; # --------------------------------------------------------------------- # --- 生成サイズを計算 # --------------------------------------------------------------------- $PDF_X_MM *= $BAIRITSU; $PDF_Y_MM *= $BAIRITSU; $IMG_X_PIX *= $BAIRITSU; $IMG_Y_PIX *= $BAIRITSU; $HOUGAN_SIZE_MM *= $BAIRITSU; # --------------------------------------------------------------------- # --- DPI計算 # --------------------------------------------------------------------- $PDF_DPI = $IMG_X_PIX / ($PDF_X_MM / $MM_PER_IN); # --------------------------------------------------------------------- # --- 描画する方眼のピクセル数を自動計算 # --------------------------------------------------------------------- $HOUGAN_SIZE_PIX = $IMG_X_PIX / $PDF_X_MM * $HOUGAN_SIZE_MM; # --------------------------------------------------------------------- # --- 色指定,太さ指定 # --------------------------------------------------------------------- $PAPER_COLOR = "#fafbfb"; $LINE_USU_COLOR = "#767676"; #薄い線の色 $LINE_USU_WIDTH = "1"; #薄い線の幅 $LINE_KOI_COLOR = "#767676"; #濃い線の色 $LINE_KOI_WIDTH = "1"; #濃い線の幅 $LINE_KUG_COLOR = "#767676"; #タイトル区切り線の色 $LINE_KUG_WIDTH = "3"; #タイトル区切り線の幅 # --------------------------------------------------------------------- # --- 描画ルーチン # --------------------------------------------------------------------- sub line_draw { my ($x1,$y1,$x2,$y2,$col,$width) = @_; $cmd = sprintf("convert -stroke xc:%s -strokewidth". " %s -draw 'line %d,%d %d,%d' %s %s", $col,$width,$x1,$y1,$x2,$y2, $FILE_WK1,$FILE_WK2); system($cmd); $cmd = sprintf("mv %s %s",$FILE_WK2,$FILE_WK1); system($cmd); } # --------------------------------------------------------------------- # --- 生成処理開始 # --------------------------------------------------------------------- # 用紙生成 $cmd = sprintf("convert -size %dx%d xc:%s %s", $IMG_X_PIX,$IMG_Y_PIX,$PAPER_COLOR,$FILE_WK1); system($cmd); # 縦線描画 $wk_x = $HOUGAN_SIZE_PIX; $count = 1; while($wk_x < $IMG_X_PIX){ if ($FUTOSEN_STEP>0 && $count % $FUTOSEN_STEP == 0){ line_draw($wk_x,0,$wk_x,$IMG_Y_PIX, $LINE_KOI_COLOR,$LINE_KOI_WIDTH); }else{ line_draw($wk_x,0,$wk_x,$IMG_Y_PIX, $LINE_USU_COLOR,$LINE_USU_WIDTH); } $wk_x += $HOUGAN_SIZE_PIX; $count++; } # 横線描画 $wk_y = $HOUGAN_SIZE_PIX; $count = 1; while($wk_y < $IMG_Y_PIX){ if ($FUTOSEN_STEP>0 && $count % $FUTOSEN_STEP == 0){ line_draw(0,$wk_y,$IMG_X_PIX,$wk_y, $LINE_KOI_COLOR,$LINE_KOI_WIDTH); }else{ line_draw(0,$wk_y,$IMG_X_PIX,$wk_y, $LINE_USU_COLOR,$LINE_USU_WIDTH); } $wk_y += $HOUGAN_SIZE_PIX; $count++; } # 区切り線描画 if ($KUGIRISEN_POS>0){ $wk_y = $HOUGAN_SIZE_PIX * $KUGIRISEN_POS; line_draw(0,$wk_y,$IMG_X_PIX,$wk_y, $LINE_KUG_COLOR,$LINE_KUG_WIDTH); } # PDFに変換して完成 $cmd = sprintf("convert -density %d -geometry %dx%d %s %s", $PDF_DPI,$IMG_X_PIX,$IMG_Y_PIX,$FILE_WK1,$FILE_PDF); system($cmd);
完成したPDF
完成したPDFを置いておきますので、ご自由にお使い下さい。