【发布时间】:2012-01-24 00:03:03
【问题描述】:
我正在绘制一个 PDF 文件,但不知道如何将字体嵌入到 PDF 本身中,有人可以帮我吗?它在设备上显示良好,但是一旦通过电子邮件发送或通过 AirPrint 打印,我就会得到备用字体。这是我的代码...
- (void) drawChart{
CGContextRef currentContext = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(currentContext, 0.0, 0.0, 0.0, 1.0);
NSUserDefaults *data = [NSUserDefaults standardUserDefaults];
NSString *pChart1 = [data stringForKey:@"pchart1"];
NSString *textToDraw = [NSString stringWithFormat:@"%@",pChart1];
UIFont *font = [UIFont fontWithName:@"MyFont" size:14];
CGSize stringSize = [textToDraw sizeWithFont:font
constrainedToSize:CGSizeMake(pageSize.width - 2*kBorderInset-2*kMarginInset, pageSize.height - 2*kBorderInset - 2*kMarginInset)
lineBreakMode:UILineBreakModeWordWrap];
CGRect renderingRect = CGRectMake(kBorderInset + kMarginInset, kBorderInset + kMarginInset + 50.0, pageSize.width - 2*kBorderInset - 2*kMarginInset, stringSize.height);
[textToDraw drawInRect:renderingRect
withFont:font
lineBreakMode:UILineBreakModeWordWrap
alignment:UITextAlignmentLeft];
}
任何帮助将不胜感激!
【问题讨论】:
-
我已经搜索了好几天,得出的结论是这可能是不可能的,所以现在我只是得到显示的图像就像这样
UIGraphicsBeginImageContext(self.myChart.bounds.size); [self.myChart.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); NSData * chartdata = UIImagePNGRepresentation(image); -
我也很想看到一个解决方案 - 我遇到了完全相同的要求。我添加了一个赏金来尝试更多地关注这个问题。
-
我有一个类似的问题,我想我已经解决了,但直到我可以尝试才知道。只是为了确定一下,您使用的是 OpenType 字体吗?
-
如果没有用于此的 API,似乎您可以从 PDF 上下文+数据使用者生成 PDF 数据,然后根据 PDF 1.7 规范自行嵌入字体...
标签: objective-c ios cocoa-touch ipad