|
|
@@ -175,7 +175,36 @@
|
|
|
return CGRectMake(x, y, width, height);
|
|
|
|
|
|
}
|
|
|
-
|
|
|
++(CGRect)PDFRect2WindowRect:(CGRect)rect pdf_rect:(CGRect)pdf_rect window_size:(CGSize)window_size
|
|
|
+{
|
|
|
+ CGRect win_expand;
|
|
|
+ float offset_x = 0;
|
|
|
+ float offset_y = 0;
|
|
|
+ float scale =1;
|
|
|
+ if(pdf_rect.size.height>=pdf_rect.size.width)
|
|
|
+ {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ win_expand = CGRectMake(window_size.width/2-(window_size.height*pdf_rect.size.width/pdf_rect.size.height)/2, 0, (window_size.height*pdf_rect.size.width/pdf_rect.size.height), window_size.height);
|
|
|
+ offset_x = (win_expand.size.width-window_size.width)/2;
|
|
|
+ scale = window_size.height/pdf_rect.size.height;
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ win_expand = CGRectMake(0, window_size.height/2-(window_size.width*pdf_rect.size.height/pdf_rect.size.width)/2, window_size.width, (window_size.width*pdf_rect.size.height/pdf_rect.size.width));
|
|
|
+ offset_y = (win_expand.size.height-window_size.height)/2;
|
|
|
+ scale = window_size.width/pdf_rect.size.width;
|
|
|
+ }
|
|
|
+ float x=rect.origin.x*scale-offset_x;
|
|
|
+ float y=rect.origin.y*scale-offset_y;
|
|
|
+ float width = rect.size.width*scale;
|
|
|
+ float height = rect.size.height*scale;
|
|
|
+
|
|
|
+ return CGRectMake(x, y, width, height);
|
|
|
+
|
|
|
+}
|
|
|
|
|
|
+(NSString*)SavePDF:(NSMutableDictionary*) controlTemplate source:(CGPDFDocumentRef )document window_rect:(CGRect)window_rect name:(NSString*)name
|
|
|
{
|