IOS在PDF中嵌入字体

时间:2012-01-24 00:03:04

标签: objective-c ios cocoa-touch ipad

我正在绘制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];
}

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:5)

我不知道为什么,但是,在我参与的一个应用程序中,我们遇到了这个问题,一旦我们从使用开放式字体切换到真正的类型字体,它就可以了。

答案 1 :(得分:1)

作为更新:在iOS 8之前,字体必须是TTF才能嵌入到pdf中,但iOS8 +支持OTF字体嵌入。不需要特别的魔力。