bool AnnotWriter::UpdatePage(int pageNo, Annotations* annots, Ref& annotArray) { bool ok = false; Object page; Ref* pageRef = mDoc->getCatalog()->getPageRef(pageNo+1); if (!mXRef->fetch(pageRef->num, pageRef->gen, &page)->isNull()) { if (HasAnnotRef(&page, annotArray)) return true; annotArray = mXRefTable.GetNewRef(xrefEntryUncompressed); if (HasEmbeddedContent(&page)) { if (!CopyContentStream(&page)) { fprintf(stderr, "Error: Could not copy content stream!"); goto error; } } if (!CopyPage(&page, *pageRef, annotArray)) { fprintf(stderr, "Error: Could not copy page!"); } else { ok = true; } } else { fprintf(stderr, "Error: Could not get page dict for page %d\n", pageNo+1); } error: page.free(); return ok; }
/////////////////==========================================================| |=============================================- /// PageModule::CopyPage (4) /////==================================================================| |=========================================- int PageModule::CopyPage( LuSiD::Page& rSrcPage ) { return CopyPage( rSrcPage, mActivePage ); }
/////////////////==========================================================| |=============================================- /// PageModule::CopyPage (2) /////==================================================================| |=========================================- int PageModule::CopyPage( uint32_t srcPageNum ) { return CopyPage( srcPageNum, mActivePage ); }