Skip to main content
alexk79418483
Participant
Jan 27, 2021 3:19 PM UTC
Answered

AVAppGetActiveDoc on Portfolio returns selected pdf not the collection

Hello all.

AVAppGetActiveDoc works fine for single document. It returns me current active AVDoc and then I can copy it to file and then process:

AVDoc pAVDoc = AVAppGetActiveDoc();
PDDoc pDoc = AVDocGetPDDoc(pAVDoc);
PDDocCopyToFile(pDoc, &params);

Portfolio pdf also comes as single pdf file and contains several inside. But unfortunatly AVAppGetActiveDoc does not return a collection object, it returns the one selected in the Porfolio. As the result I can not copy to file the full Portfolio document:

PDDoc pDoc = AVDocGetPDDoc(pAVDoc);
PDCollection pdCollection = PDDocGetPDCollection(pDoc);
PDCollectionIsValid(pdCollection); // FALSE

Is there any way to get the Portfolio object instead of internal pdf one?

This topic is closed to new replies. Start a new post to keep the conversation going.
Test Screen NameCorrect answer
Legend
Jan 27, 2021 8:42 PM UTC

Random thought: do you know how to iterate a PDCollection to see if a given PDDoc is a member (I do not). If so you can iterate the AVDocs to find the parent. 

2 replies

Test Screen NameCorrect answer
Legend
Jan 27, 2021 8:42 PM UTC

Random thought: do you know how to iterate a PDCollection to see if a given PDDoc is a member (I do not). If so you can iterate the AVDocs to find the parent. 

Translate
alexk79418483
Participant
Jan 29, 2021 1:44 PM UTC

Thank you. It helped.

I enumerated through all AVDocs with AVAppEnumDocs() and realy there is one more for Portfolio document. Then I found that it is the parent of returned active.

Translate