Book Spine Calculator: Difference between revisions
Jump to navigation
Jump to search
m (Added image and file) |
No edit summary |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{Scripting Index}} | |||
A soft book cover would be something like this. The calculator below will determine the spine width given the number of pages and paper weight in gsm. | A soft book cover would be something like this. The calculator below will determine the spine width given the number of pages and paper weight in gsm. | ||
Line 4: | Line 5: | ||
[[Image:Book_Soft_Cover.png|600px]] | [[Image:Book_Soft_Cover.png|600px]] | ||
[[File:Spine_Book_Template.sla.gz]] if you wish to play | [[http://wiki.scribus.net/index.php/File:Spine_Book_Template.sla.gz Spine_Book_Template.sla.gz]] if you wish to play with the original | ||
The code below could do with some typical paper weights, however best talk to the printer about this. | |||
<pre><nowiki> | <pre><nowiki> | ||
Latest revision as of 00:59, 15 January 2011
A soft book cover would be something like this. The calculator below will determine the spine width given the number of pages and paper weight in gsm.
[Spine_Book_Template.sla.gz] if you wish to play with the original
The code below could do with some typical paper weights, however best talk to the printer about this.
#/usr/bin/env python # -*- coding: utf-8 -*- import scribus import math from scribus import UNIT_POINTS,BUTTON_OK,ICON_WARNING startMsg1 = "The conventional design suggests that spine width is calculated as follows: \n\n" startMsg2 = "10 divided by 176, multiplied by the number of pages of text within the book, divided by 90, " startMsg3 = "multiplied by the weight of the paper in gsm, add 1mm for the crease in the cover and this will give you a soft cover book thickness in millimetres.\n\n" startMsg4 = "Add 3mm to this figure and you have the spine thickness of a hard covered book" startMsg = startMsg1 + startMsg2 + startMsg3 + startMsg4 start = scribus.messageBox('Book Spine Width Calculator', startMsg, ICON_WARNING, BUTTON_OK) P = scribus.valueDialog('Spine Calculator','Enter Number of pages') P = float(P) G = scribus.valueDialog('Spine Calculator','Enter Paper Weight (gsm)') G = float(G) # Need some sanity checks here, max and min values P and G A = float(10) B = float(176) bsw = (A/B) * (P/90) * G + 1 + 3 bsw = float("%2.2f" % (bsw)) bsws = bsw - 3 P = int(P) G = int(G) widthMsg1 = "The spine thickness for a soft cover book of " + str(P) + " pages of " + str(G) + " gsm paper is " + str(bsws) + " mm.\n\n" widthMsg2 = "The spine thickness for a hard cover book of " + str(P) + " pages of " + str(G) + " gsm paper is " + str(bsw) + " mm." widthMsg = widthMsg1 + widthMsg2 end = scribus.messageBox('Book Spine Width', widthMsg, ICON_WARNING, BUTTON_OK)