コード例 #1
0
ファイル: pagenumber.py プロジェクト: josh-swerdlow/PDFsuite
        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)
コード例 #2
0
ファイル: pagenumber.py プロジェクト: danielzuegner/PDFsuite
        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