Criando margens à Gutemberg
Jump to navigation
Jump to search
Scripts para iniciantes • Scripts de extensão/PyQt • Questões sobre Py • Plugins • Outros |
Versão em inglês.
Básico
Este script cria margens proporcionais ao estilo Gutemberg, baseando-se no valor da margem esquerda. O Scribus automaticamente espelhará as margens em documentos de páginas espelhadas. Agora, o script serve apenas para efeitos didáticos de programação Scribus, porque o programa já incorpora margens Gutemberg em documentos espelhados, em suas novas versões a partir da 1.3.3.
#!/usr/bin/env python2.3 # -*- coding: utf-8 -*- """Gerando margens a lá Gutemberg. """ import sys TITLE = "Gerar Magens" noDocMsg = "<h2>Primeiro, abra um doc</h2>Este script somente funciona com documentos abertos.\ <b>Abra um document</b> antes de executar este script." runningMsg = "Executando script..." noScribusMsg = "Este script Phython foi feito apenas para o Scribus.\ \nVai executar apenas com o Scribus." try: import scribus except ImportError,err: print noScribusMsg sys.exit(1) from scribus import UNIT_POINTS,BUTTON_OK,ICON_WARNING def main(argv): """Generate margins""" if scribus.haveDoc(): scribus.setRedraw(False) unit = scribus.getUnit() # salva unidade padrão/original scribus.setUnit(UNIT_POINTS) # trabalhando com pontos devido a um bug no getPageMargins pageWidth, pageHeight = scribus.getPageSize() ratio = pageHeight / pageWidth topMargin, leftMargin, rightMargin, bottomMargin = scribus.getPageMargins() topMargin = leftMargin * ratio rightMargin = leftMargin * 2 bottomMargin = rightMargin * ratio scribus.setMargins(leftMargin, rightMargin, topMargin, bottomMargin) scribus.setUnit(unit) # retorna para unidade original/padrão else: scribus.messageBox(TITLE, noDocMsg, ICON_WARNING, BUTTON_OK) def main_wrapper(argv): try: scribus.statusMessage(runningMsg) scribus.progressReset() main(argv) finally: if scribus.haveDoc(): scribus.setRedraw(True) scribus.statusMessage("") scribus.progressReset() if __name__ == '__main__': main_wrapper(sys.argv)