我正在为学校项目使用 cocoa 应用程序为 pdftk 制作一个界面,但由于某种原因它无法工作,它会抛出此错误
Error: Unable to find file.
Error: Failed to open PDF file:
articulo.pdf
Done. Input errors, so no output created.
我的文件下载的当前目录 这是我当前的代码
- (IBAction)getMetadata:(id)sender {
task = [[NSTask alloc] init];
NSString *arg = [NSString stringWithFormat:@"%@", fileNamePDF];
[task setCurrentDirectoryPath: directory];
task = [NSTask launchedTaskWithLaunchPath:@"/usr/local/bin/pdftk" arguments:@[arg, @"dump_data"]];
task = nil;
}
最佳答案
“launchedTaskWithLaunchPath”创建新对象(您可以在调试器中检查)。这是适合您的方法:
- (IBAction)getMetadata:(id)sender {
task = [[NSTask alloc] init];
NSPipe *outputPipe = [NSPipe pipe];
[task setStandardOutput:outputPipe];
NSFileHandle *outputFileHandle = [outputPipe fileHandleForReading];
NSString *arg = [NSString stringWithFormat:@"%@", fileNamePDF];
[task setCurrentDirectoryPath: directory];
[task setLaunchPath:@"/usr/local/bin/pdftk"];
[task setArguments:@[arg, @"dump_data"]];
[task launch];
[self.task waitUntilExit];
//read output
NSData *outputData = [outputFileHandle readDataToEndOfFile];
}
关于objective-c - NSTask 运行 pdftk 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32573293/