将PDF文本写入iOS中的PDFContext

通过以下方式绘制到pdf上下文非常简单:

UIGraphicsBeginPDFContextToFile(pdfFile, CGRectZero, nil); UIGraphicsBeginPDFPageWithInfo(sheet.frame, nil); CGContextRef ctx = UIGraphicsGetCurrentContext(); CGRect text_rect = ... NSFont *font = ... NSString * str = @"foo"; [str drawInRect:text_rect withFont:font]; ...draw to context... 

然而,文本显然是光栅化的……无论如何实际上将pdf样式文本添加到pdf文件中? 因此,用户可以选择它,复制它等。可能通过核心图形以外的库?

这绝对是可能的。 这是一个教程 ,演示如何在iOS 5中生成和显示带有文本的PDF文档。

当我下载并运行项目时,放大时文本似乎没有光栅化。当我在OS X中的预览中打开生成的PDF时,我可以选择并复制文本。

此示例使用Core Text将文本绘制到CGContext中。 应该很容易改变+[PDFRenderer drawText]尝试其他方法,如果你想试验。

例如,我将其更改为使用与您类似的代码,并且它工作正常:

 CGRect text_rect = { 0, 100, 300, 50 }; UIFont *font = [UIFont systemFontOfSize:12]; NSString * str = @"Added foo bar"; [str drawInRect:text_rect withFont:font];