|
@@ -84,28 +84,32 @@
|
|
|
NSURL *url = self.urls[pageIndex];
|
|
|
|
|
|
if ([url.pathExtension.lowercaseString isEqualToString:@"pdf"]) {
|
|
|
- NSData *urlData = [NSData dataWithContentsOfURL:url];
|
|
|
- NSString *name = [NSString stringWithFormat:@"webpage%ld",self.pageIndex];
|
|
|
- NSString *savePath = [self.savePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.pdf",self.fileName?:name]];
|
|
|
-
|
|
|
- if ([urlData writeToFile:savePath atomically:YES]) {
|
|
|
- [self.successArray addObject:savePath];
|
|
|
- if (self.pageIndex + 1 >= self.urls.count) {
|
|
|
+ dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
+ NSData *urlData = [NSData dataWithContentsOfURL:url];
|
|
|
+ NSString *name = [NSString stringWithFormat:@"webpage%ld",self.pageIndex];
|
|
|
+ NSString *savePath = [self.savePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.pdf", self.fileName.length > 0? self.fileName : name]];
|
|
|
+ if (![[NSFileManager defaultManager]fileExistsAtPath:self.savePath]) {
|
|
|
+ [[NSFileManager defaultManager] createDirectoryAtPath:self.savePath withIntermediateDirectories:YES attributes:nil error:nil];
|
|
|
+ }
|
|
|
+ if ([urlData writeToFile:savePath atomically:YES]) {
|
|
|
+ [self.successArray addObject:savePath];
|
|
|
+ if (self.pageIndex + 1 >= self.urls.count) {
|
|
|
+ if (self.handler) {
|
|
|
+ self.handler (self.successArray,self.failArray);
|
|
|
+ self.handler= nil;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ [self convertFileAtPageIndex:++self.pageIndex];
|
|
|
+
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ [self.failArray addObject:self.urls[self.pageIndex]];
|
|
|
if (self.handler) {
|
|
|
self.handler (self.successArray,self.failArray);
|
|
|
self.handler= nil;
|
|
|
}
|
|
|
- } else {
|
|
|
- [self convertFileAtPageIndex:++self.pageIndex];
|
|
|
-
|
|
|
- }
|
|
|
- } else {
|
|
|
- [self.failArray addObject:self.urls[self.pageIndex]];
|
|
|
- if (self.handler) {
|
|
|
- self.handler (self.successArray,self.failArray);
|
|
|
- self.handler= nil;
|
|
|
}
|
|
|
- }
|
|
|
+ });
|
|
|
} else {
|
|
|
|
|
|
if (!self.webView) {
|
|
@@ -136,6 +140,9 @@
|
|
|
name = self.fileName;
|
|
|
}
|
|
|
NSString *savePath = [self.savePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.pdf",name]];
|
|
|
+ if (![[NSFileManager defaultManager]fileExistsAtPath:self.savePath]) {
|
|
|
+ [[NSFileManager defaultManager] createDirectoryAtPath:self.savePath withIntermediateDirectories:YES attributes:nil error:nil];
|
|
|
+ }
|
|
|
CGFloat margin = self.gap;
|
|
|
NSSize paperSize = self.pageSize;
|
|
|
WebFrameView *frameView = [frame frameView];
|