2012-01-24 41 views
5

Tôi đang vẽ một tệp PDF và không thể tìm ra cách nhúng phông chữ vào chính tệp PDF, bất kỳ ai cũng có thể giúp tôi không? Nó hiển thị tốt trên thiết bị tuy nhiên một khi nó được gửi qua email hoặc in qua AirPrint, tôi chỉ nhận được phông chữ dự phòng. Đây là mã của tôi ...Phông chữ nhúng của iOS trong PDF

- (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]; 
} 

Mọi trợ giúp sẽ được đánh giá cao!

+0

Tôi đã tìm kiếm hi và thấp trong nhiều ngày và đã đi đến kết luận rằng điều này có thể không được như vậy cho đến bây giờ Iam chỉ nhận được một hình ảnh của hiển thị như thế này 'UIGraphicsBeginImageContext (self.myChart.bounds.size); [self.myChart.layer renderInContext: UIGraphicsGetCurrentContext()]; UIImage * image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); NSData * chartdata = UIImagePNGĐại diện (hình ảnh); ' – Dan

+0

Tôi cũng thực sự muốn thấy một giải pháp cho điều này - tôi đang chạy vào chính xác yêu cầu tương tự. Tôi đã thêm một tiền thưởng để thử và nhận được nhiều sự chú ý đến vấn đề này. – Tom

+0

Tôi có một vấn đề tương tự, và tôi nghĩ rằng tôi đã giải quyết nó, nhưng tôi sẽ không biết cho đến khi tôi có thể dùng thử. Chỉ để đảm bảo, bạn có đang sử dụng Phông chữ OpenType không? – Tom

Trả lời

5

Tôi không biết tại sao, nhưng, trên một ứng dụng tôi đã tham gia vào chúng tôi đã có vấn đề này, một khi chúng tôi chuyển từ sử dụng phông chữ kiểu mở sang kiểu phông chữ thực sự.

1

Là bản cập nhật: trước iOS 8, phông chữ cần phải được TTF nhúng vào pdf, nhưng iOS8 + hỗ trợ nhúng phông chữ OTF. Không cần ma thuật đặc biệt.

+0

Cảm ơn! Tình cờ, bạn có thể đề xuất một số tham chiếu đến tuyên bố của bạn không? (chẳng hạn tài liệu của Apple) – Lubbo

+0

Không có tài liệu tham khảo, nhưng từ thử nghiệm (tôi đã có một phông chữ OTF trước đó trong iOS 7, đã phải sử dụng một công cụ chuyển đổi trực tuyến để làm cho nó hoạt động. Thử lại nó trên iOS 8, làm việc tốt. Xem http: // appstore .com/thecraic - các tập tin PDF nó tạo ra sử dụng một phông chữ OTF (Bravura). –

Các vấn đề liên quan