【问题标题】:PDF Attachment not receive in mail while sending mail via IPad通过 iPad 发送邮件时,邮件中收不到 PDF 附件
【发布时间】:2013-03-05 04:39:05
【问题描述】:

在我的应用程序中,我必须生成 PDF 并使用 mfmail compose 控制器发送该附件。要生成 pdf,我使用 CALayer 类将 uiview 呈现为 PDF。生成的pdf需要作为附件发送给相应的用户。现在的问题是,在接收端附件是可见的,并且只收到了从 iphone 发送的邮件,而不是从 ipad 发送的邮件。在发送邮件时它显示完美,但不显示在邮件中(如果从 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];

将 PDF 作为 Composer 附件附加的代码:

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"]];

【问题讨论】:

    标签: ios objective-c ipad calayer


    【解决方案1】:
    与 ipad 视图相比,您呈现为 PDF 高度的

    uiview(pdfView) 需要更多。 如果它小于 ipad 视图,它将作为内联附件附加。内联附件在 mozila 中不可见,因此您可以在 safari 中查看内联附件。而不是内联附件,如果你想作为单独的附件查看,你必须增加pdf视图的高度。

    【讨论】:

      【解决方案2】:

      尝试将mimeType:@"application/pdf" 更改为mimeType:@"text/pdf",当我遇到同样的问题时它对我有用。

      【讨论】:

        猜你喜欢
        • 2013-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-29
        • 1970-01-01
        • 2018-09-19
        • 2015-10-24
        相关资源
        最近更新 更多