Jim,
I haven't done this before, so it is just a guess, but I'd think you could get the first paragraph on the hidden page as follows. I didn't test this. Of course, getting the first paragraph ID is only a small part of the battle. I think the real challenge would be using it to navigate the invisible page and set up the F_TextLoc structures.
1 - Get the hidden page ID
pageId = F_ApiGetId(FV_SessionId, docId, FP_HiddenPage);
2 - Get the page frame
frameId = F_ApiGetId(docId, pageId, FP_PageFrame);
3- Maybe iterate over child frames to find the text frame. I don't know if this is necessary. In any case, once you have a paragraph, you should have the correct frame.
if(F_ApiGetId(docId, frameId, FP_FirstGraphicInFrame))
frameId = F_ApiGetId(docId, frameId, FP_FirstGraphicInFrame);
while(frameId)
{
if(F_ApiGetId(docId, frameId, FP_FirstPgf)) break;
else frameId = F_ApiGetId(docId, frameId, FP_NextGraphicInFrame);
}
pgfId = F_ApiGetId(docId, frameId, FP_FirstPgf);
Russ