if pdf: for i in range(1, (pages + 1)): page = Quartz.CGPDFDocumentGetPage(pdf, i) if page: mbox = Quartz.CGPDFPageGetBoxRect(page, Quartz.kCGPDFMediaBox) if Quartz.CGRectIsEmpty(mbox): mbox = None Quartz.CGContextBeginPage(writeContext, mbox) Quartz.CGContextDrawPDFPage(writeContext, page) text = str(i) astr = CFAttributedStringCreate( kCFAllocatorDefault, text, {kCTFontAttributeName: font}) line = CTLineCreateWithAttributedString(astr) x = Quartz.CGRectGetWidth(mbox) y = Quartz.CGRectGetHeight(mbox) y -= yOffset if i == 1: # Don't put number on page 1 pass elif i % 2 == 1: # Move right hand number in by its own width. textWidth = astr.size().width x = x - xOffset x = x - textWidth drawWatermarkText(writeContext, line, x, y, angle, scale, opacity) else: x = xOffset drawWatermarkText(writeContext, line, x, y, angle, scale, opacity) Quartz.CGContextEndPage(writeContext)
if pdf: for i in range(1, (pages + 1)): page = CG.CGPDFDocumentGetPage(pdf, i) if page: mbox = CG.CGPDFPageGetBoxRect(page, CG.kCGPDFMediaBox) if CG.CGRectIsEmpty(mbox): mbox = None CG.CGContextBeginPage(ctx, mbox) CG.CGContextDrawPDFPage(ctx, page) text = str(i) print i astr = CFAttributedStringCreate( kCFAllocatorDefault, text, {kCTFontAttributeName: font}) line = CTLineCreateWithAttributedString(astr) x = CG.CGRectGetWidth(mbox) y = CG.CGRectGetHeight(mbox) y -= yOffset if i == 1: # Don't put number on page 1 pass elif i % 2 == 1: x = xOffset drawWatermarkText(ctx, line, x, y, angle, scale, opacity) else: x = x - xOffset drawWatermarkText(ctx, line, x, y, angle, scale, opacity) CG.CGContextEndPage(ctx) del pdf contextDone(ctx)