//
//  PDFViewController.m
//  Lighting
//
//  Created by 曹云霄 on 16/5/17.
//  Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//

#import "PDFViewController.h"

@interface PDFViewController ()<UIWebViewDelegate>

@property (nonatomic,strong) UIWebView *webView;

@end

@implementation PDFViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    
    [self uiConfigAction];
}



#pragma mark -UI
- (void)uiConfigAction
{
    self.webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
    [self.view addSubview:self.webView];
    self.webView.delegate = self;
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:_pdfURLString]];
    NSURL *url = [NSURL URLWithString:_pdfURLString];
    if ([url pathExtension] && ([[[url pathExtension] lowercaseString] isEqualToString:@"txt"] || [[[url pathExtension] lowercaseString] isEqualToString:@"text"]))
    {
//        return [self convertTxtEncoding:url];
        NSURLRequest *request = [NSURLRequest requestWithURL:[self convertTxtEncoding:url]];
         [self.webView loadRequest:request];
    }
    else
    {
//        return url;
        NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:_pdfURLString]];
        [self.webView loadRequest:request];
    }
    [self.webView loadRequest:request];
    [self.webView addGestureRecognizer:[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(PDFClickAction)]];
}

#pragma mark -dismiss
- (void)PDFClickAction
{
    [self dismissViewControllerAnimated:YES completion:nil];
}


#pragma mark -加载错误
- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error
{
    [self ErrorMBProgressView:@"加载错误"];
    [self dismissViewControllerAnimated:YES completion:nil];
}



- (NSURL *)convertTxtEncoding:(NSURL *)fileUrl

{
//    
//    if ([FileManagementAPI getFileSize:[fileUrl path]] > 1024*1024.0f)
//        
//    {
//        
//        return fileUrl;
//        
//    }
    
    NSString *tmpFilePath = [NSString stringWithFormat:@"%@/tmp/%@", NSHomeDirectory(), [fileUrl lastPathComponent]];
    
    NSLog(@"tmpFilePath=%@", tmpFilePath);
    
    NSURL *tmpFileUrl = [NSURL fileURLWithPath:tmpFilePath];
    
    NSStringEncoding encode;
    
    NSString *contentStr = [NSString stringWithContentsOfURL:fileUrl usedEncoding:&encode error:NULL];
    
    
    
    if (contentStr)
        
    {
        
        [contentStr writeToURL:tmpFileUrl atomically:YES encoding:NSUTF16StringEncoding error:NULL];
        
        
        
        return tmpFileUrl;
        
    }
    
    else
        
    {
        
        NSStringEncoding convertEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
        
        contentStr = [NSString stringWithContentsOfURL:fileUrl encoding:convertEncoding error:NULL];
        
        
        
        if (contentStr)
            
        {
            
            [contentStr writeToURL:tmpFileUrl atomically:YES encoding:NSUTF16StringEncoding error:NULL];
            
            
            
            return tmpFileUrl;
            
        }
        
        else
            
        {
            
            return fileUrl;
            
        }
        
    }
    
}






@end
