打印后删除文件

时间:2013-02-03 11:03:43

标签: ios objective-c pdf printing

我试图在打印文件后删除文件但没有成功。

实际上,我需要打印临时生成的PDF(带文本和图像),然后,当打印过程完成后,我想将其删除。

目前,PDF正保存在Documents目录中。将它保存在Temp文件夹中是个好主意吗?但是不管怎样我还是要删除它。 我还有一个tableView,用于显示用户已保存的PDF,因此我只需要显示那些(而不是那些暂时生成的)

我尝试过使用UIPrinterInteractionController的委托方法,但没有任何运气。

-(void)printInteractionControllerDidDismissPrinterOptions:(UIPrintInteractionController *)printInteractionController{
    NSError *error;
    NSFileManager *fileMgr = [NSFileManager defaultManager];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *filePath = [documentsDirectory
                          stringByAppendingPathComponent:[NSString stringWithFormat:@"%@",PDFNameString]];
    if ([fileMgr removeItemAtPath:filePath error:&error] != YES)
    {   UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Error" message:[NSString stringWithFormat:NSLocalizedString(@"UnableToDeleteFile", @"Unable to delete file: %@"),[error localizedDescription]] delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] autorelease];
        [alert show];
    }

    NSLog(@"Dismissed");
}

当打印选项视图离开“发送到打印机..”视图时,会弹出警报视图。 它甚至没有删除文件,它说

可可错误代码4。

有没有人知道在打印过程完成后我可以用什么方法删除文件?

修改

如果文件存在,我会进行NSLog,但事实并非如此。这怎么可能?

1 个答案:

答案 0 :(得分:4)