【发布时间】:2012-05-20 08:47:55
【问题描述】:
通过以下方式绘制到 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 文件中?所以用户可以选择它,复制它等等。可能通过核心图形以外的库?
【问题讨论】:
-
你是如何绘制文本的?这是重要的部分。根据 API 和配置方式,文本在 PDF 中可能会或可能不会被光栅化。
-
更新了示例以准确显示它。还有哪些其他 API?我尝试了 [CALayer renderInContext] 和其他一些...全部栅格化。什么图书馆没有?
-
如果您检查了 pdf 标准规范,您会发现您实际上需要在文件中回显
Tj(ABC)之类的内容,以使其显示未光栅化的文本。我不知道有任何适用于 iOS 的 pdf 创建库。 -
像你一样,我希望
-[NSString drawInRect:withFont:]将文本呈现为文本。不知道为什么不是——你使用的是奇怪的字体、阴影还是颜色?-[CALayer renderInContext:]肯定会光栅化,因为 CALayers 都是关于位图的;你绝对不想那样。 -
This 可以帮到你
标签: objective-c ios pdf-generation core-graphics