3

通过以下方式绘制到 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 文件?所以用户可以选择它,复制它等。可能通过核心图形以外的库?

4

1 回答 1

1

这绝对是可能的。 这是一个教程,展示了如何在 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];
于 2012-05-12T19:00:02.290 回答