[scribus] How can I add an automatic page number into a text frame in a Python script
Gregory Pittman
gregp_ky at yahoo.com
Tue May 11 18:11:30 CEST 2010
On 05/11/2010 10:51 AM, Henry Hartley wrote:
> Andreas Huennebeck wrote:
>>> I'm writing a Python script which creates a text frame which
>>> should contain an automatic page number. In the Scribus GUI
>>> one can do this with Ctrl-Alt-Shift-P, but simply calling
>>> scribus.setText('#') in the Python script does not work
>>> (of course). Is there a way to create a Python string with
>>> special characters?
>
> Does currentPage(...) give you what you want?
>
> currentPage() -> integer
>
> Returns the number of the current working page. Page numbers
> are counted from 1 upwards, no matter what the displayed
> first page number of your document is.
>
> http://docs.scribus.net/index.php?lang=en&page=scripterapi-page
>
I think what he wants is to be able to enter the page number character
using Scripter.
Looking at an SLA file, I see that this is encoded as <var
name="pageno"/> (if it were some control-character so that you could
enter it from python, it would likely cause the XML to be not
well-formed), so you're not going to be able to do this from Scripter.
Generally what seems easiest is to make page numbering part of a Master
Page, which can be applied or not, depending on your layout, and could
be done after your document gets created by your script.
If you're obsessive about this, then use python to keep track of page
numbers, and just enter the number!
Also to consider: saving a page number text frame to the scrapbook (with
the page numbering character), then right-clicking on the item in the
Scrapbook, and Paste to Page, which will place it at the proper coordinates.
As with a large number of operations in Scribus there are many way to
accomplish some specific task.
Greg
More information about the scribus
mailing list