Criando margens à Gutemberg

From Scribus Wiki
Revision as of 22:08, 4 November 2006 by Meira (talk | contribs) (→‎Básico)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Este artigo é parte da seção de Scripts_e_Plugins.
Scripts para iniciantes Scripts de extensão/PyQt Questões sobre Py Plugins Outros
Voltar para a página principal

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.

 #!/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)