PublisherFans
同志でっかいの
同志でっかいの

fanbox


コピペで簡単!同人誌のテンプレート移植

原稿のテンプレートを他社のものに入れ替えたい、なんてことはないでしょうか。

サイズを合わせて別のテンプレートに重ね合わせるのを何十ページも繰り返すのは考えただけでも気が滅入りそうになりますよね。締め切り直前となれば尚更です。しかし全自動でできるとしたらどうでしょう。


筆者はC103の原稿でこれを行いました。最初はある印刷会社を想定して作っておりました。しかし、見積で7万円近くの金額を提示され、やむなくサンライズに乗り換えることにしたのです。


当然、テンプレートはサンライズ専用のものを利用しなければなりません。

そう、これがなかなか厄介なのです。


以下の手順を原稿の全ページに渡って繰り返します:

・テンプレートを読込

・原稿を一つ上のレイヤーとして読込

・ガイド線に合うよう、原稿レイヤーを縮小・移動

・画像を統合してpsdで保存

・ファイル名を付ける (01.psd, 02.psd, ...)

表紙は1つのファイルしかないので、手作業でも負担は小さいですが、原稿となると何十枚ものファイルを扱うので大変です。また、ファイル名の付け間違いといったミスも発生しやすくなります。


自動処理

そこで、全自動でできる方法を考えました。先程の手順は決まった動作を繰り返すだけなので、プログラムによる処理には向いていそうです。プログラムと聞くと難しく感じてしまい、できそうにないと感じてしまう方もいるかもしれません。しかし、ここではコードを書くといったことはせず、コピペとパラメーターいじりだけでできてしまう内容なのでご安心を。

※このプログラムは、クリスタ・MedibangのA5 (3638x5102) をサンライズの「A5本文RGB」(2453x3307) に移植することを想定しています。違うテンプレートでは、パラメータを変更する必要があるかもししれません。


必要なもの:

GIMP 2.10


手順:

・あらかじめ、本文の原稿を全てjpgで出力しておきます。EXでは一括書き出しが便利です。


完了すると、「comic_xxx.jpg」が出力されます 。


・GIMPのフィルター → Python-fu → Consoleを開きます。


・次に、以下のプログラムをテキストとしてコピーしましょう(沢山の#で囲んだ範囲)。ただし、太字の行は原稿によって異なるので、適宜変えてください。

内容は理解しなくて良いです。その内5か所、

・原稿のあるフォルダ

・出力フォルダ

・テンプレートのあるフォルダ

・テンプレートのファイル名

・本文ページ数

を編集してください。

ただし、ダブルクォーテーション「""」は消さないでください。そして、# (シャープ記号) の後ろはコメントといって、プログラムの動作に関係しないので消しても構いません。


########################

def Save(image, layer, file_path):

pdb.file_psd_save(image, layer, file_path, file_path, 0, 0)

# 3638x5102, 600dpiで描かれた原稿 (jpg) を

# サンライズ,A5,350dpiのテンプレート (psd) にはめ込む

# GIMPのscript-fuにコピペして実行


dirSRC = "X:/p/" # 原稿のあるフォルダ

dirDST = "X:/n/" # 出力フォルダ

tmpPath = "D:/mdp/c103/sunrise/" # テンプレートのあるフォルダ

tmpFile = "A5本文_RGB350.psd"# テンプレートのファイル名

tmpPSD = pdb.file_psd_load(tmpPath+tmpFile, tmpFile)


tmpLayer = gimp.Layer(tmpPSD, "tmp", tmpPSD.width, tmpPSD.height, RGBA_IMAGE, 100, NORMAL_MODE)

tmpPSD.add_layer(tmpLayer, 0) # add layer to mg


tmp_w=2175.0 # サンライズのA5テンプレート幅

src_w=3638

src_h=5102

scale= tmp_w/src_w

new_width=scale*src_w

new_height=scale*src_h

offx=int((src_w-new_width)/2.0)

offy=int((src_h-new_height)/2.0)

offx=140 # 原稿は(x,y)=(1,1)cm ずらして配置する。1cm / 2.54cm/in * 350dpi = 140px

offy=140

for i in range(24): # 24は本文ページ数。32ページの本なら32に書き換えましょう。

pageNum = i+1

filename = "comic_" + format(pageNum, '03d') + ".jpg" # 01.jpg, ..., 13.jpg, 99.jpg

outName = format(pageNum, '02d') + ".psd" # 01.psd, ..., 13.psd, 99.psd

second_layer = pdb.gimp_file_load_layer(tmpPSD, dirSRC+filename) # load the second file as a layer

tmpPSD.add_layer(second_layer, 0)# add the new layer to the first image

pdb.gimp_layer_scale(second_layer,new_width,new_height,True) #must be after add_layer

second_layer.set_offsets(offx, offy)# set pos

(num_layers,layer_ids) = pdb.gimp_image_get_layers (tmpPSD)

print(num_layers)

l = pdb.gimp_image_flatten(tmpPSD) #rasterize

Save(tmpPSD, l, dirDST + outName)

#tmpPSD.remove_layer (second_layer)

########################


・パラメータを変えたプログラムをGIMPのscript-fuにコピペしてenterを2回押すことで処理を入力します(画像では、メモ帳にプログラムをコピペして編集したものを入力しています)。

実行中はGimpの下段にプログレスバーが表示されます。


実行に成功すると、テンプレート移植されています。



※なお、for以下の段落ではタブコード (4つ字下げ) がありますが、スペースや全角空白に置き換えると動作しません。これはpythonという言語で書かれているのですが、段落のタブが文法を構成しているためです。

コピペで簡単!同人誌のテンプレート移植 コピペで簡単!同人誌のテンプレート移植 コピペで簡単!同人誌のテンプレート移植 コピペで簡単!同人誌のテンプレート移植 コピペで簡単!同人誌のテンプレート移植 コピペで簡単!同人誌のテンプレート移植 コピペで簡単!同人誌のテンプレート移植

More Creators