2011-04-30 75 views
0

出現這個問題從以前的問題如下操作: Problems creating a Webview for printing圖形不是在網頁視圖

我使用的是網頁視圖打印地塊使用核心情節框架創建。下面的代碼被用於填充網頁視圖:

NSData  *imageData = [[barChart imageOfLayer] TIFFRepresentation]; 
NSString  *temporaryImagePath = NSTemporaryDirectory(); 
NSError  *error = nil; 

NSBitmapImageRep* imageRep = [NSBitmapImageRep imageRepWithData:imageData]; 
NSData*    pngData; 

pngData = [imageRep representationUsingType:NSJPEGFileType 
           properties:nil]; 

temporaryImagePath = [temporaryImagePath stringByAppendingPathComponent:@"jpegData.jpg" ]; 
[pngData writeToFile:temporaryImagePath 
       options:NSDataWritingAtomic 
       error:&error ]; 

WebView *printView; 

printView =[[WebView alloc] initWithFrame:NSMakeRect(0, 0, 300, 1000) 
           frameName:@"printFrame" 
           groupName:@"printGroup"]; 

NSString *theCSSString = [self theFileCodeForString:@"OutputFormat" 
             withExtension:@"CSS" 
             withContents:@"<style type=\"text/css\">#results {font-family:\"Trebuchet MS\", Arial, Helvetica, sans-serif;width:100%;border-collapse:collapse;} #results td, #results th {font-size:1em;border:1px solid #98bf21;padding:3px 7px 2px 7px;} #results th {font-size:1.1em;text-align:left;padding-top:5px;padding-bottom:4px;background-color:#A7C942;color:#ffffff;} #results tr.alt td {color:#000000;background-color:#EAF2D3;} </style>"]; 

NSMutableString *theURLString = [[NSMutableString alloc] initWithString:@"<html>"]; 
[theURLString appendString:@"<head>"]; 
[theURLString appendString:theCSSString]; 
[theURLString appendString:@"</head>"]; 

[theURLString appendString:@"<body>"]; 
NSURL *tempImageURL = [NSURL fileURLWithPath:temporaryImagePath]; 
[theURLString appendFormat:@"<img src=\"%@\"/>", [tempImageURL absoluteString]]; 
[theURLString appendString:@"</body></html>"]; 

[[printView mainFrame] loadHTMLString:theURLString 
        baseURL:[NSURL URLWithString:@"xxxx"]]; 

[[[[printView mainFrame] frameView] documentView] print:sender]; 
[printView release]; 

我的問題是圖像不會出現無論是在打印的網頁視圖的版本,或者如果我在它實例化與網頁視圖窗口中的圖像不出現。如果我採用代碼生成的原始HTML,請將其粘貼到Coda中,然後預覽它,圖像顯示沒有問題。任何人都可以指出我如何解決這個問題的正確方向。這可能是一個相當基本的錯誤,因爲我對圖像和Webviews的工作相當陌生。

編輯

它看起來像這個問題涉及鏈接到圖像的格式,因爲當我更換生成的文件:/// ...鏈接與HTML:// ...與網絡上的圖像鏈接一切似乎工作正常。這並不能解釋爲什麼它在Coda中工作,但不在Webview中。

回答

0

問題解決。將baseURL設置爲tempImageURL解決了這個問題。一切都很好。