选择PDF文件中的文字(iphone)

时间:2010-09-07 09:51:02

标签: iphone

我正在使用PDF阅读器处理iphone和 我想学习如何选择PDF格式的文本, 我能够解析PDF文档(使用CGPDFContentStreamRef和CGPDFScannerRef),并搜索pdf文件中的单词,但我无法突出显示PDF文档中的单词。 那么,我如何在PDF视图中找到一个单词以及如何选择它?

2 个答案:

答案 0 :(得分:2)

您可以尝试使用PDFKitten。其中有一些代码。

- (void) drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
{
    CGPDFDocumentRef doc = CGPDFDocumentRetain(self.document);
    CGPDFPageRef page = CGPDFDocumentGetPage(doc, 1);

    // Transform the CTM compensating for flipped coordinate system
    CGContextTranslateCTM(ctx, 0.0, layer.bounds.size.height);
    CGContextScaleCTM(ctx, 1.0, -1.0);

    // Draw PDF (scaled to fit)
    CGContextConcatCTM(ctx, CGPDFPageGetDrawingTransform(page, kCGPDFCropBox, layer.bounds, 0, YES));
    CGContextDrawPDFPage(ctx, page);

    for (Selection *s in self.selections)
    {
        CGContextSaveGState(ctx);

        CGContextConcatCTM(ctx, [s transform]);
        CGContextSetFillColorWithColor(ctx, [[UIColor yellowColor] CGColor]);
        CGContextSetBlendMode(ctx, kCGBlendModeMultiply);
        CGContextFillRect(ctx, [s frame]);

        CGContextRestoreGState(ctx);
    }

    CGPDFDocumentRelease(doc); doc = nil;
}

答案 1 :(得分:0)

你试过FastPDFKit吗?

https://github.com/mobfarm/FastPdfKit

它会突出显示搜索结果,但不会让您通过触摸来选择文字。