This script will work with the attached template in Linux. It can probably be edited fairly easily to work with other OSes and templates with a bit of hacking...
#! /usr/bin/env python
import os
PAGEWIDTH = 3300
PAGEHEIGHT = 2550
# Chop up the pages to be comicified
filelist = os.listdir(".")
filelist.sort()
os.system ("rm -r /tmp/comicpages")
os.system("mkdir /tmp/comicpages")
i=0
for item in filelist:
print item
i=i+1
os.system("convert " + item + " -gravity west -crop " + \
str(PAGEWIDTH/2) + "x" + str(PAGEHEIGHT) + \
" +repage /tmp/comicpages/com" + str(i) + "_%d.png")
# Stitch together so printing doublesided will make a book
filelist = []
filelist = os.listdir("/tmp/comicpages")
filelist.sort()
#os.system("mkdir /tmp/comicpages/finalpages")
finalpagecount = int(len(filelist)/2)
if not len(filelist)%2 == 0:
print "Warning! You did not pick a multiple of 2 pages! Everything will be horrible!"
for i in range(0,finalpagecount):
print "Merging pages " + str(filelist[i]) + " and " + str(filelist[-(i+1)])
if (i%2)==0:
os.system("convert +append /tmp/comicpages/" + filelist[i] + \
" /tmp/comicpages/" + filelist[-(i+1)] + " /tmp/comicpages/finalpage" + str(i) +".png")
else:
os.system("convert +append /tmp/comicpages/" + filelist[-(i+1)] + \
" /tmp/comicpages/" + filelist[i] + " /tmp/comicpages/finalpage" + str(i) +".png")
#os.system("rm /tmp/comicpages/com*.png")
print "Making Book"
os.system("convert /tmp/comicpages/finalpage*.png comicbook.pdf")
print "Done!"
No comments:
Post a Comment