0

私のアプリケーションでは、PDF を生成し、mfmail 構成コントローラーを使用してその添付ファイルを送信する必要があります。PDF を生成するには、CALayer クラスを使用して uiview を PDF としてレンダリングしました。生成された pdf は、対応するユーザーに添付ファイルとして送信する必要があります。問題は、受信側で添付ファイルが表示され、iPad からではなく iPhone から送信されたメールのみを受信することです。メールの送信中は完全に表示されますが、メールには表示されません(Ipadからメールを送信する場合)。この問題の解決方法を教えてください。これがPDFを生成するための私のコードです。

    NSMutableData *pdfData = [NSMutableData data];
    UIGraphicsBeginPDFContextToData(pdfData, pdfView.bounds, nil);
    UIGraphicsBeginPDFPage();
    CGContextRef pdfContext = UIGraphicsGetCurrentContext();
    
    [pdfView.layer renderInContext:pdfContext];
    
    // remove PDF rendering context
    UIGraphicsEndPDFContext();
    // Retrieves the document directories from the iOS device
    NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
    
    NSString* documentDirectory = [documentDirectories objectAtIndex:0];
    NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.pdf",[receivedSelectedDict valueForKey:@"reportID"]]];
    NSLog(@"while creating %@",documentDirectoryFilename);
    // instructs the mutable data object to write its context to a file on disk
    [pdfData writeToFile:documentDirectoryFilename atomically:YES];

Composer 添付ファイルとして PDF を添付するためのコード:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
            NSString *documentsDirectory = [paths objectAtIndex:0];
 NSString *file = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.pdf",[receivedSelectedDict valueForKey:@"reportID"]]];
            NSLog(@"while fetching %@",file);
            NSMutableData *data=[NSMutableData dataWithContentsOfFile:file];
            [mailViewController addAttachmentData:data mimeType:@"application/pdf" fileName:[receivedSelectedDict valueForKey:@"reportID"]];
4

2 に答える 2

0

PDF としてレンダリングする uiview(pdfView) の高さは、iPad ビューと比較して高くする必要があります。iPad ビューよりも小さい場合は、インライン添付ファイルとして添付されます。インライン添付ファイルは mozilla では表示されないため、インライン添付ファイルを safari で表示したほうがよいでしょう。インライン添付ではなく、個別添付として表示したい場合は、PDF表示の高さを大きくする必要があります。

于 2013-03-06T09:42:57.817 に答える
0

を に変更してみてくださいmimeType:@"application/pdf"mimeType:@"text/pdf"同じ問題に直面したときにうまくいきました。

于 2013-03-06T13:24:57.167 に答える