2012-08-14 5 views
2

내 애플리케이션에서 PDF 리더 (서버에서 PDF)를 보여주고 모든 것을 다른 PDF로 복사해야합니다. PDF를 보려면 Reader을 사용하고 있습니다.iOS의 PDF 리더 및 작성기에서 텍스트 서식 지정

하지만 PDF에서 텍스트 서식을 지정할 수 없습니다. 굵게 텍스트가 굵은 글꼴 이외의 다른 좁은 글꼴로 표시됩니다. 나에게 해결책을 주시겠습니까?

다시 작성하면서 저는 Saving a PDF document to disk using Quartz을 사용하고 있습니다. 하지만 여기서 나는 같은 문제에 직면하고있다. 새 PDF는 소스 PDF에서 사용 된 글꼴 이외의 글꼴을 표시합니다.

아래 코드도 시도했습니다. 아직도 나는 같은 O/P를 얻고있다. 이걸 도와주세요. 이탤릭체/밑줄과 같은 다른 텍스트 글꼴로 테스트하지 않았습니다. 그것은 또한 이러한 글꼴을 작동합니다.

- (void) generatePdfWithFilePath: (NSString *)thefilePath { 
    UIGraphicsBeginPDFContextToFile(thefilePath, CGRectZero, NULL); 
    BOOL done = NO; 

    do { 
    //Start a new page. 
    UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, pageSize.width, pageSize.height), nil); 
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"MyPdf" ofType:@"pdf"]; 
    CFURLRef url = (CFURLRef)[NSURL fileURLWithPath:filePath]; 
    CGPDFDocumentRef pdf = CGPDFDocumentCreateWithURL(url); 
    CGPDFPageRef page = CGPDFDocumentGetPage(pdf, 1); 
    CGRect paperSize = CGPDFPageGetBoxRect(CGPDFDocumentGetPage (pdf, 1), kCGPDFMediaBox); 
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextTranslateCTM(context, 0, paperSize.size.height); 
    CGContextScaleCTM(context, 1.0, -1.0); 
    CGContextDrawPDFPage(context, page); 
    done = YES; 
    } while (!done); 

    UIGraphicsEndPDFContext(); 
} 

소스 PDF가 iOS 기기 이외의 소스에서 생성 된 경우 발생합니다.

답변

0

생각을 몇 :

  1. 하여 표시 찾고있는 폰트는 iOS devices의에 있지 않으며이 PDF에 포함됩니다. 따라서, 그것은 유사하다고 생각되는 폰트로 대체합니다.
  2. Reader를 사용하여 PDF를 표시 할 필요가 없으며 웹보기, UIDocumentInteraction 컨트롤러 또는 CGPDFController을 사용할 수 있습니다. Reader가 아닌 내장 디스플레이를 사용하면 더 많은 행운을 누릴 수 있습니다.