{"id":1255,"date":"2010-08-01T22:54:54","date_gmt":"2010-08-02T01:54:54","guid":{"rendered":"http:\/\/meiradarocha.jor.br\/news\/?p=1255"},"modified":"2010-10-12T12:54:23","modified_gmt":"2010-10-12T15:54:23","slug":"scribus-funcoes-scripter-de-propriedades-dos-objetos","status":"publish","type":"post","link":"https:\/\/meiradarocha.jor.br\/news\/2010\/08\/01\/scribus-funcoes-scripter-de-propriedades-dos-objetos\/","title":{"rendered":"Scribus: fun\u00e7\u00f5es Scripter de propriedades dos objetos"},"content":{"rendered":"<p><!-- p, li { white-space: pre-wrap; } --><!--StartFragment--><a href=\"http:\/\/www.scribus.net\/\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-1467\" title=\"scribus-splash\" src=\"http:\/\/meiradarocha.jor.br\/news\/wp-content\/uploads\/2010\/08\/scribus-splash-300x162.jpg\" alt=\"\" width=\"300\" height=\"162\" \/><\/a>Existem fun\u00e7\u00f5es no <strong>Scripter<\/strong> do Scribus (interpretador Python do Scribus) que permitem grande controle sobre as propriedades dos objetos. Para se saber todas as propriedades, usa-se a fun\u00e7\u00e3o:<!--more--><\/p>\n<pre>propriedades = scribus.getPropertyNames(getSelectedObject())<\/pre>\n<p>Isto devolve a lista de todas as propriedades dos objetos:<\/p>\n<ol>\n<li>objectName<\/li>\n<li>itemName<\/li>\n<li>fillColor<\/li>\n<li>lineColor<\/li>\n<li>fillShade<\/li>\n<li>lineShade<\/li>\n<li>fillTransparency<\/li>\n<li>lineTransparency<\/li>\n<li>m_Locked<\/li>\n<li>m_SizeLocked<\/li>\n<li>m_ImageIsFlippedV<\/li>\n<li>m_ImageIsFlippedH<\/li>\n<li>lineWidth<\/li>\n<li>customLineStyle<\/li>\n<li>startArrowIndex<\/li>\n<li>endArrowIndex<\/li>\n<li>m_PrintEnabled<\/li>\n<li>xPos<\/li>\n<li>yPos<\/li>\n<li>width<\/li>\n<li>height<\/li>\n<li>rotation<\/li>\n<li>imageXScale. Escala relativa a 72 pt por polegada.<\/li>\n<li>imageYScale<\/li>\n<li>imageXOffset<\/li>\n<li>imageYOffset<\/li>\n<li>reversed<\/li>\n<li>cornerRadius<\/li>\n<li>textToFrameDistLeft<\/li>\n<li>textToFrameDistRight<\/li>\n<li>textToFrameDistTop<\/li>\n<li>textToFrameDistBottom<\/li>\n<li>ColGap<\/li>\n<li>Cols<\/li>\n<li>firstLineOffset<\/li>\n<li>itemType<\/li>\n<\/ol>\n<p>Nem todas estas propriedades s\u00e3o aplic\u00e1veis a todos os objetos. Algumas s\u00e3o espec\u00edficas de objetos de texto, ou de objetos gr\u00e1ficos, quadros de fotos etc.<\/p>\n<p>Para obter o deslocamento de uma foto, por exemplo, usa-se a fun\u00e7\u00e3o:<\/p>\n<pre>x =\u00a0 scribus.getProperty(getSelectedObject(),'imageXOffset')\r\ny = scribus.getProperty(getSelectedObject(),'imageYOffset')<!--EndFragment--><\/pre>\n<p>Para listar todas as propriedades, posso usar o seguiinte c\u00f3digo Python:<\/p>\n<pre>props=scribus.getPropertyNames(getSelectedObject())\r\nfor propriedade in props:\r\n\u00a0\u00a0 try:\r\n\u00a0\u00a0\u00a0\u00a0 print propriedade,\":\",scribus.getProperty(getSelectedObject(),propriedade)\r\n\u00a0\u00a0 except:\r\n\u00a0\u00a0\u00a0\u00a0 print ''<\/pre>\n<p>Isto gera a lista:<\/p>\n<p><!-- p, li { white-space: pre-wrap; } --><\/p>\n<pre>objectName :\r\nitemName : Texto1\r\nfillColor : None\r\nlineColor : None\r\nfillShade : 100.0\r\nlineShade : 100.0\r\nfillTransparency : 0.0\r\nlineTransparency : 0.0\r\nm_Locked : False\r\nm_SizeLocked : False\r\nm_ImageIsFlippedV : False\r\nm_ImageIsFlippedH : False\r\nlineWidth : 0.0\r\ncustomLineStyle :\r\nstartArrowIndex : 0\r\nendArrowIndex : 0\r\nm_PrintEnabled : True\r\nxPos : 142.52\r\nyPos : 62.52\r\nwidth : 255.117795276\r\nheight : 187.086299213\r\nrotation : 0.0\r\nimageXScale : 1.0\r\nimageYScale : 1.0\r\nimageXOffset : 0.0\r\nimageYOffset : 0.0\r\nreversed : False\r\ncornerRadius : 0.0\r\ntextToFrameDistLeft : 0.0\r\ntextToFrameDistRight : 0.0\r\ntextToFrameDistTop : 0.0\r\ntextToFrameDistBottom : 0.0\r\nColGap : 0.0\r\nCols : 1\r\nfirstLineOffset :\r\nitemType : 4<\/pre>\n<p>O comando try\/except \u00e9 para o c\u00f3digo continuar ap\u00f3s um bug do Scripter ( TypeError: N\u00e3o foi poss\u00edvel converter o tipo de resultado &#8221;.) que acontece quando se usa a fun\u00e7\u00e3o:<\/p>\n<pre>scribus.getProperty(getSelectedObject(),'firstLineOffset')<\/pre>\n<h3>Modificando proprieidades<\/h3>\n<p>Tamb\u00e9m \u00e9 poss\u00edvel se definir as propriedades de um objeto selecionado:<\/p>\n<pre>scribus.setProperty(getSelectedObject(),'imageYOffset',72.0)<\/pre>\n<p>Neste exemplo, defino o deslocamento Y (vertical) de uma imagem em rela\u00e7\u00e3o ao seu quadro de imagem. O valor deve ser n\u00famero tipo <em>double<\/em>, por isso deve ter ponto decimal. Caso contr\u00e1rio, seria considerado inteiro e geraria erro. Este valor \u00e9 relativo aos dots per inch (DPI) da imagem, n\u00e3o relativo ao documento Scribus. Por exemplo, o valor 72 ir\u00e1 deslocar a imagem uma polegada se a imagem estiver a 72 DPI, e meia polegada se a imagem estiver a 144 DPI.<\/p>\n<p>Um atributo de objeto importante, que foi deixado de fora, \u00e9 o ponto de rota\u00e7\u00e3o dos objetos. Ele parece ser um atributo global do documento Scribus, n\u00e3o do objeto. Isto pode levar a comportamentos indesej\u00e1veis dos <em>scripts<\/em>, se for modificado do <em>default<\/em> (canto superior esquerdo). Isto acontece no meu <em>script<\/em> para criar foto+legenda+cr\u00e9dito.<\/p>\n<h3>Bibliografia<\/h3>\n<ul>\n<li><strong>Discovering an Item&#8217;s Properties<\/strong>. Scribus Wiki. Site: &lt;<a href=\"http:\/\/wiki.scribus.net\/index.php\/Discovering_an_Item%27s_Properties\">http:\/\/wiki.scribus.net\/index.php\/Discovering_an_Item%27s_Properties<\/a>&gt;<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Existem fun\u00e7\u00f5es no Scripter do Scribus (interpretador Python do Scribus) que permitem grande controle sobre as propriedades dos objetos. Para se saber todas as propriedades, usa-se a fun\u00e7\u00e3o:<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,16],"tags":[],"class_list":["post-1255","post","type-post","status-publish","format-standard","hentry","category-python","category-scribus"],"_links":{"self":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts\/1255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/comments?post=1255"}],"version-history":[{"count":0,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts\/1255\/revisions"}],"wp:attachment":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/media?parent=1255"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/categories?post=1255"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/tags?post=1255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}