I've solved many similar problems by parsing the document's .sla file
(which is just XML), when the Scripter API doesn't quite do what you need.
Here's the basic gist to get the page number for a frame named "foo":
import xml.etree.ElementTree as ET
tree = ET.parse(getDocName())
root = tree.getroot()
frame = "foo"
element = root.find(f'./DOCUMENT/PAGEOBJECT[@ANNAME="{frame}"]')
page_number = element.get("OwnPage")
For this to work, the object has to manually have been given a name, not
just leaving the auto-generated one, otherwise it's not stored in the .sla
file.
On Thu, 14 Apr 2022 at 00:43, Matt Miller <[email protected]> wrote:
> From Python I want to find the page number that contains a certain text
> frame. I know the object name of the frame I'm looking for, but I don't
> know what page it's on. The only way I've thought of is to loop
> page-by-page over the document, and for each page use getAllObjects() to
> see if the frame is on that page. The documents are typically hundreds or
> even a couple thousand pages. I'm hoping for a faster way.
>
> From the GUI I see that if I click on an object to select it, then the
> page returned by currentPage() is what I'm looking for, but if I just call
> selectObject() then currentPage() doesn't seem to care.
>
> Thanks.
>
>
> --
>
> Matt Miller
> mailto:[email protected]
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://lists.scribus.net/pipermail/scribus/attachments/20220413/a7f1d8c6/attachment.htm
> >
> ___
> Scribus Mailing List: [email protected]
> Edit your options or unsubscribe:
> http://lists.scribus.net/mailman/listinfo/scribus
> See also:
> http://wiki.scribus.net
> http://forums.scribus.net
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.scribus.net/pipermail/scribus/attachments/20220414/d60ee11c/attachment.htm>
___
Scribus Mailing List: [email protected]
Edit your options or unsubscribe:
http://lists.scribus.net/mailman/listinfo/scribus
See also:
http://wiki.scribus.net
http://forums.scribus.net