Exemple #1
0
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;
}
Exemple #2
0
/////////////////==========================================================|   |=============================================-
///  PageModule::CopyPage (4)
/////==================================================================|   |=========================================-
int PageModule::CopyPage( LuSiD::Page& rSrcPage )
{
	return CopyPage( rSrcPage, mActivePage );
}
Exemple #3
0
/////////////////==========================================================|   |=============================================-
///  PageModule::CopyPage (2)
/////==================================================================|   |=========================================-
int PageModule::CopyPage( uint32_t srcPageNum )
{
	return CopyPage( srcPageNum, mActivePage );
}