0

UIViewで描画された署名をPDFファイルにフェッチすることにより、複数ページのPDFファイルに署名しようとしていますが、直面している問題は、PDFに署名した後、署名されたファイルの単一ページのみを表示できることです。 WebView の残りのページ。

ドキュメント ディレクトリから pdf ファイルに署名を取得するために使用されるコードは、次のとおりです。

- (void)viewWillAppear:(BOOL)animated
{
[webView reload];

UIWebView *webView;
webView= [[UIWebView alloc] initWithFrame:CGRectMake(0,44, 320, 460)];

NSString *path1;
path1 = [[NSBundle mainBundle] pathForResource:@"typo_tips" ofType:@"pdf"];

 NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory,
                                                     NSUserDomainMask, YES);

NSString *documentDirectoryPath;
NSURL *targetURL;

documentDirectoryPath  = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"typo_tips.pdf"];

[fileManager copyItemAtPath:path1 toPath:documentDirectoryPath error:&error];

NSLog(@"path1 value is %@ \n",path1);
NSLog(@"docu dir path is %@ \n",documentDirectoryPath);



if (entered==1)//"entered==1", after save button clicked in signviewcontroller 
{
   targetURL = [NSURL fileURLWithPath:documentDirectoryPath];


}
else     targetURL = [NSURL fileURLWithPath:path1];


 if (entered==1)
{


    CFURLRef url;
    url = (CFURLRef)CFBridgingRetain([NSURL fileURLWithPath:documentDirectoryPath]);
    CGPDFDocumentRef myDocument;
    myDocument = CGPDFDocumentCreateWithURL(url);

    // Create PDF context
    CGContextRef pdfContext = CGPDFContextCreateWithURL(url, NULL, NULL);     //(CFURLRef)outputURL
    CGPDFContextBeginPage(pdfContext, NULL);
    UIGraphicsPushContext(pdfContext);

    int totalPages = (int)CGPDFDocumentGetNumberOfPages(myDocument);
    NSLog(@"no. of pages in pdf is %d \n",totalPages);

    CGContextDrawPDFPage(UIGraphicsGetCurrentContext(), CGPDFDocumentGetPage(myDocument, page));
    //"page" is current pdf page to be signed

    NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Image.png"];// "image.png" is the saved user's signature in document directory


    image = [[UIImage alloc] initWithContentsOfFile:filePath];
    CGRect imageRect = CGRectMake(50, 50, image.size.width, image.size.height);


    CGContextDrawImage(UIGraphicsGetCurrentContext(), imageRect, image.CGImage);


    // Clean up
    UIGraphicsPopContext();
    CGPDFContextEndPage(pdfContext);
    CGPDFContextClose(pdfContext);

}

NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];
[self.view addSubview:webView];
}
4

2 に答える 2