IOS在PDF中嵌入字体

Posted

技术标签:

【中文标题】IOS在PDF中嵌入字体【英文标题】:IOS embed font in PDF 【发布时间】: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 规范自行嵌入字体... 【参考方案1】:

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

【讨论】:

【参考方案2】:

作为更新:在 ios 8 之前,字体需要 TTF 才能嵌入到 pdf 中,但 iOS8+ 支持 OTF 字体嵌入。不需要特殊的魔法。

【讨论】:

谢谢!碰巧,你能建议一些参考你的陈述吗? (即 Apple 文档) 没有参考,但来自实验(我在 iOS 7 之前有一个 OTF 字体,必须使用在线转换器才能使其工作。在 iOS 8 上再次尝试,工作正常。见appstore.com/thecraic - 它创建的 PDF 文件使用 OTF 字体 (Bravura)。

以上是关于IOS在PDF中嵌入字体的主要内容,如果未能解决你的问题,请参考以下文章

Itext 在 PDF 中嵌入字体

如何在现有 PDF 中嵌入字体?

如何使用 RDLC 在 PDF 中嵌入字体

如何修复 PDF 文件并嵌入丢失的字体

如何从 PDF 中提取嵌入字体作为有效字体文件?

ggplot在pdf中嵌入字体