Parcourir la source

161025

Add:
interface offline_request_tearsheet
func prepare_portfolio_data
func get_pdftemplate
resource group PDFResource

Modify:
pdfCreator:: TextDrawable support bold and vertical align.

Modify:
portfolio data 3x2 cover page finished.
Ray Zhang il y a 9 ans
Parent
commit
6fd29c8893

BIN
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/Ray.xcuserdatad/UserInterfaceState.xcuserstate


+ 320 - 65
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/Ray.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -52,11 +52,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "iSales-NPD/AppDelegate.m"
-            timestampString = "498634265.963326"
+            timestampString = "499057370.715634"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1721"
-            endingLineNumber = "1721"
+            startingLineNumber = "1723"
+            endingLineNumber = "1723"
             landmarkName = "-download_offline:checkdiskspace:"
             landmarkType = "7">
          </BreakpointContent>
@@ -68,11 +68,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "iSales-NPD/AppDelegate.m"
-            timestampString = "498634265.963326"
+            timestampString = "499057370.715634"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2102"
-            endingLineNumber = "2102"
+            startingLineNumber = "2104"
+            endingLineNumber = "2104"
             landmarkName = "-connectionDidFinishLoading:"
             landmarkType = "7">
          </BreakpointContent>
@@ -84,11 +84,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "iSales-NPD/AppDelegate.m"
-            timestampString = "498634265.963326"
+            timestampString = "499057370.715634"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2168"
-            endingLineNumber = "2168"
+            startingLineNumber = "2170"
+            endingLineNumber = "2170"
             landmarkName = "-connectionDidFinishLoading:"
             landmarkType = "7">
          </BreakpointContent>
@@ -100,11 +100,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "iSales-NPD/AppDelegate.m"
-            timestampString = "498634265.963326"
+            timestampString = "499057370.715634"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2217"
-            endingLineNumber = "2217"
+            startingLineNumber = "2219"
+            endingLineNumber = "2219"
             landmarkName = "-connectionDidFinishLoading:"
             landmarkType = "7">
          </BreakpointContent>
@@ -116,11 +116,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "iSales-NPD/AppDelegate.m"
-            timestampString = "498634265.963326"
+            timestampString = "499057370.715634"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2221"
-            endingLineNumber = "2221"
+            startingLineNumber = "2223"
+            endingLineNumber = "2223"
             landmarkName = "-connectionDidFinishLoading:"
             landmarkType = "7">
          </BreakpointContent>
@@ -196,11 +196,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "iSales-NPD/AppDelegate.m"
-            timestampString = "498634265.963326"
+            timestampString = "499057370.715634"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2222"
-            endingLineNumber = "2222"
+            startingLineNumber = "2224"
+            endingLineNumber = "2224"
             landmarkName = "-connectionDidFinishLoading:"
             landmarkType = "7">
          </BreakpointContent>
@@ -212,11 +212,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "498991957.05668"
+            timestampString = "499138023.951462"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "69"
-            endingLineNumber = "69"
+            startingLineNumber = "78"
+            endingLineNumber = "78"
             landmarkName = "+get_offline_soid:"
             landmarkType = "7">
          </BreakpointContent>
@@ -228,11 +228,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "498991957.05668"
+            timestampString = "499138023.951462"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2122"
-            endingLineNumber = "2122"
+            startingLineNumber = "2131"
+            endingLineNumber = "2131"
             landmarkName = "+offline_createorder:"
             landmarkType = "7">
          </BreakpointContent>
@@ -244,11 +244,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "498991957.05668"
+            timestampString = "499138023.951462"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "62"
-            endingLineNumber = "62"
+            startingLineNumber = "71"
+            endingLineNumber = "71"
             landmarkName = "+get_offline_soid:"
             landmarkType = "7">
          </BreakpointContent>
@@ -451,11 +451,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "498991957.05668"
+            timestampString = "499138023.951462"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1781"
-            endingLineNumber = "1781"
+            startingLineNumber = "1790"
+            endingLineNumber = "1790"
             landmarkName = "+offline_model:"
             landmarkType = "7">
          </BreakpointContent>
@@ -611,11 +611,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "498991957.05668"
+            timestampString = "499138023.951462"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "328"
-            endingLineNumber = "328"
+            startingLineNumber = "337"
+            endingLineNumber = "337"
             landmarkName = "+prepareWishlist:"
             landmarkType = "7">
          </BreakpointContent>
@@ -755,11 +755,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "iSales-NPD/AppDelegate.m"
-            timestampString = "498634265.963326"
+            timestampString = "499057370.715634"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2165"
-            endingLineNumber = "2165"
+            startingLineNumber = "2167"
+            endingLineNumber = "2167"
             landmarkName = "-connectionDidFinishLoading:"
             landmarkType = "7">
          </BreakpointContent>
@@ -771,11 +771,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "iSales-NPD/AppDelegate.m"
-            timestampString = "498634265.963326"
+            timestampString = "499057370.715634"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1363"
-            endingLineNumber = "1363"
+            startingLineNumber = "1365"
+            endingLineNumber = "1365"
             landmarkName = "-check_offline:useInternalAddress:parentvc:"
             landmarkType = "7">
          </BreakpointContent>
@@ -810,6 +810,53 @@
             endingLineNumber = "561"
             landmarkName = "-alertView:clickedButtonAtIndex:"
             landmarkType = "7">
+            <Locations>
+               <Location
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "__35-[OrderListViewController neworder]_block_invoke_2"
+                  moduleName = "NPD Mobile"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///ios_workspace/RedAnt%20ERP%20Mobile/common/Functions/order/OrderListViewController.m"
+                  timestampString = "499079485.863139"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "562"
+                  endingLineNumber = "562"
+                  offsetFromSymbolStart = "873">
+               </Location>
+               <Location
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "__copy_helper_block_.330"
+                  moduleName = "NPD Mobile"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///ios_workspace/RedAnt%20ERP%20Mobile/common/Functions/order/OrderListViewController.m"
+                  timestampString = "499079485.865306"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "562"
+                  endingLineNumber = "562"
+                  offsetFromSymbolStart = "132">
+               </Location>
+               <Location
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "__destroy_helper_block_.331"
+                  moduleName = "NPD Mobile"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///ios_workspace/RedAnt%20ERP%20Mobile/common/Functions/order/OrderListViewController.m"
+                  timestampString = "499079485.86709"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "562"
+                  endingLineNumber = "562"
+                  offsetFromSymbolStart = "98">
+               </Location>
+            </Locations>
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -908,22 +955,6 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "common/pdfCreator/TextDrawable.m"
-            timestampString = "498993183.388304"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "393"
-            endingLineNumber = "393"
-            landmarkName = "-Draw1:dataSource:ParentRect:startX:startY:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
@@ -947,11 +978,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "498991957.05668"
+            timestampString = "499138023.951462"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "53"
-            endingLineNumber = "53"
+            startingLineNumber = "62"
+            endingLineNumber = "62"
             landmarkName = "+offline_request_tearsheet:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1059,11 +1090,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/RAUtils.m"
-            timestampString = "498990175.68414"
+            timestampString = "499060345.264302"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "151"
-            endingLineNumber = "151"
+            startingLineNumber = "167"
+            endingLineNumber = "167"
             landmarkName = "+rectAlign:rect:hAlign:vAlign:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1087,15 +1118,15 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            shouldBeEnabled = "Yes"
+            shouldBeEnabled = "No"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/pdfCreator/TextDrawable.m"
-            timestampString = "498992049.327481"
+            timestampString = "499079275.693615"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "215"
-            endingLineNumber = "215"
+            startingLineNumber = "129"
+            endingLineNumber = "129"
             landmarkName = "-Draw:dataSource:ParentRect:startX:startY:flipHeight:range:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1132,5 +1163,229 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "iSales-NPD/AppDelegate.m"
+            timestampString = "499057340.790053"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "761"
+            endingLineNumber = "761"
+            landmarkName = "-application:didFinishLaunchingWithOptions:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "iSales-NPD/AppDelegate.m"
+            timestampString = "499057342.079912"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "762"
+            endingLineNumber = "762"
+            landmarkName = "-application:didFinishLaunchingWithOptions:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/RAUtils.m"
+            timestampString = "499060345.264302"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "157"
+            endingLineNumber = "157"
+            landmarkName = "+enum_font"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/pdfCreator/TextDrawable.m"
+            timestampString = "499079275.693615"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "160"
+            endingLineNumber = "160"
+            landmarkName = "-Draw:dataSource:ParentRect:startX:startY:flipHeight:range:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/pdfCreator/TextDrawable.m"
+            timestampString = "499079275.693615"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "108"
+            endingLineNumber = "108"
+            landmarkName = "-CreateFont:size:bold:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/pdfCreator/TextDrawable.m"
+            timestampString = "499079275.693615"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "255"
+            endingLineNumber = "255"
+            landmarkName = "-Draw:dataSource:ParentRect:startX:startY:flipHeight:range:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/pdfCreator/TextDrawable.m"
+            timestampString = "499079275.693615"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "244"
+            endingLineNumber = "244"
+            landmarkName = "-Draw:dataSource:ParentRect:startX:startY:flipHeight:range:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/pdfCreator/TextDrawable.m"
+            timestampString = "499079275.693615"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "112"
+            endingLineNumber = "112"
+            landmarkName = "-QueryFontName:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/pdfCreator/TextDrawable.m"
+            timestampString = "499079275.693615"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "234"
+            endingLineNumber = "234"
+            landmarkName = "-Draw:dataSource:ParentRect:startX:startY:flipHeight:range:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/pdfCreator/TextDrawable.m"
+            timestampString = "499079275.693615"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "230"
+            endingLineNumber = "230"
+            landmarkName = "-Draw:dataSource:ParentRect:startX:startY:flipHeight:range:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/Functions/offline/OLDataProvider.m"
+            timestampString = "499075637.853754"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "41"
+            endingLineNumber = "41"
+            landmarkName = "+prepare_portfolio_data:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/pdfCreator/TextDrawable.m"
+            timestampString = "499079275.693615"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "103"
+            endingLineNumber = "103"
+            landmarkName = "-CreateFont:size:bold:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/pdfCreator/TextDrawable.m"
+            timestampString = "499079259.55228"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "78"
+            endingLineNumber = "78"
+            landmarkName = "-CreateFont:size:bold:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/pdfCreator/TextDrawable.m"
+            timestampString = "499079303.232149"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "97"
+            endingLineNumber = "97"
+            landmarkName = "-CreateFont:size:bold:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

+ 9 - 0
RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.m

@@ -34,6 +34,15 @@
 {
     NSMutableDictionary* data = [[NSMutableDictionary alloc]init];
     data[@"npd_url"]=@"www.newpacificdirect.com";
+    NSDateFormatter * formatter = [[NSDateFormatter alloc]init];
+    [formatter setDateFormat:@"MMMM yyyy"];
+    NSString* date = [formatter stringFromDate:[NSDate date]];
+    data[@"create_month"]=date;
+    data[@"company_name"]=@"New Pacific Direct,Inc.";
+    data[@"catalog_name"]=params[@"catalog_name"];
+//    NSMutableDictionary* header = [[NSMutableDictionary alloc]init];
+//    header[@"icon_small"]=@"portfolio_logo_s";
+//    data[@"header"]=header;
     return data;
 }
 +(NSMutableDictionary*) get_pdftemplate:(NSString*) template

+ 2 - 2
RedAnt ERP Mobile/common/Functions/portfolio/TearSheetParamViewController.m

@@ -267,7 +267,7 @@
         //    [ret setValue:value forKey:valuefrom];
     }
     
-    
+    upparams[@"pdfUrl"]=pdf_url;
     
     
     
@@ -279,7 +279,7 @@
     UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Processing"];
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
         
-        NSDictionary* editor_json = [iSalesNetwork request_TearSheet:pdf_url];
+        NSDictionary* editor_json = [iSalesNetwork request_TearSheet:upparams];
         
         dispatch_async(dispatch_get_main_queue(), ^{
             [waitalert dismissWithClickedButtonIndex:0 animated:FALSE];

+ 2 - 1
RedAnt ERP Mobile/common/RAUtils.h

@@ -38,7 +38,7 @@ typedef void (^add_to_cart_Handler)(void);
 +(NSDictionary*) device_info;
 +(NSDictionary*) error_dict:(NSError*)error;
 + (NSArray*) allFilesAtPath:(NSString*) dirString;
-
++(void) enum_font;
 +(NSDictionary*) dictfromfile:(NSString*) path;
 
 +(NSData*) getdbfile;
@@ -46,6 +46,7 @@ typedef void (^add_to_cart_Handler)(void);
 + (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size;
 + (CGRect)scaleToSize:(CGRect )from to:(CGSize)to;
 + (CGRect)rectAlign:(CGRect )parent rect:(CGRect)rect hAlign:(NSString*)hAlign vAlign:(NSString*)vAlign;
++ (CGRect)rectVAlign:(CGRect )parent rect:(CGRect)rect vAlign:(NSString*)vAlign;
 +(UIImage*)img_compress:(UIImage*)image kbsize:(float) size;
 +(NSString* )current_date;
 +(NSMutableArray*)dictionary2array:(NSDictionary*)json count_fields:(NSString*) count_fields item_mark:(NSString*) item_mark items_mark:(NSString* )items_mark;

+ 30 - 0
RedAnt ERP Mobile/common/RAUtils.m

@@ -144,6 +144,22 @@
     }
     return true;
 }
++(void) enum_font
+{
+    return;
+    NSArray *familys = [UIFont familyNames];
+    
+    for (int i = 0; i < familys.count; i++)
+    {
+        NSString *family = [familys objectAtIndex:i];
+        NSLog(@"=====Fontfamily:%@", family);
+        NSArray *fonts = [UIFont fontNamesForFamilyName:family];
+        for(int j = 0; j < fonts.count; j++)
+        {
+            NSLog(@"***FontName:%@", [fonts objectAtIndex:j]);
+        }
+    }
+}
 + (CGRect)rectAlign:(CGRect )parent rect:(CGRect)rect hAlign:(NSString*)hAlign vAlign:(NSString*)vAlign
 {
 //    double cx=parent.origin.x+parent.size.width/2;
@@ -161,6 +177,20 @@
     
     return rect;
     
+}
++ (CGRect)rectVAlign:(CGRect )parent rect:(CGRect)rect vAlign:(NSString*)vAlign
+{
+    //    double cx=parent.origin.x+parent.size.width/2;
+    //    double cy=parent.origin.y+parent.size.height/2;
+    CGPoint centerpoint= CGPointMake(parent.origin.x+parent.size.width/2,parent.origin.y+parent.size.height/2);
+    
+    if([vAlign.lowercaseString isEqualToString:@"middle"])
+    {
+        rect=CGRectMake(rect.origin.x, centerpoint.y-rect.size.height/2, rect.size.width, rect.size.height);
+    }
+    
+    return rect;
+    
 }
 + (CGRect)scaleToSize:(CGRect )from to:(CGSize)to
 {

+ 1 - 1
RedAnt ERP Mobile/common/data_provider/iSalesNetwork.h

@@ -103,7 +103,7 @@
 
 
 +(NSDictionary*)request_PDFList:(int ) offset limit:(int)limit keywords:(NSString* ) keywords ;
-+(NSDictionary*)request_TearSheet:(NSString*) request_url ;
++(NSDictionary*)request_TearSheet:(NSMutableDictionary*)params;
 +(NSDictionary*)save_TearSheet:(NSString*) path name:(NSString*)name delete:(NSString* )ids note:(NSString* )note;
 +(NSDictionary*)direct_save_TearSheet:(NSString*) request_url name:(NSString*)name delete:(NSString* )ids note:(NSString* )saveNote;
 

+ 3 - 3
RedAnt ERP Mobile/common/data_provider/iSalesNetwork.m

@@ -1528,9 +1528,9 @@ repeat:
     NSDictionary *jsobj = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:&error];
     return jsobj;
 }
-+(NSDictionary*)request_TearSheet:(NSString*) request_url
++(NSDictionary*)request_TearSheet:(NSMutableDictionary*)params//(NSString*) request_url
 {
-    NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
+//    NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
     AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
     if(appDelegate.user!=nil)
         [params setValue:appDelegate.user forKey:@"user"];
@@ -1539,7 +1539,7 @@ repeat:
     if(appDelegate.password!=nil)
         [params setValue:appDelegate.password forKey:@"password"];
     
-    [params setValue:request_url forKey:@"pdfUrl"];
+//    [params setValue:request_url forKey:@"pdfUrl"];
     NSData* json= nil;
     if(appDelegate.offline_mode)
     {

+ 2 - 1
RedAnt ERP Mobile/common/pdfCreator/TextDrawable.h

@@ -18,5 +18,6 @@
 
 @property (nonatomic,strong) UIColor * textColor;
 
-@property CTTextAlignment alignment;
+@property CTTextAlignment textalignment;
+
 @end

+ 79 - 349
RedAnt ERP Mobile/common/pdfCreator/TextDrawable.m

@@ -8,6 +8,8 @@
 
 #import "TextDrawable.h"
 #import <CoreText/CoreText.h>
+#import "RAUtils.h"
+
 @implementation TextDrawable
 
 -(void) setDrawableTemplate:(NSMutableDictionary *)drawableTemplate
@@ -17,24 +19,27 @@
     
 
     
-    NSString* align= drawableTemplate[@"align"];
+    NSString* align= drawableTemplate[@"textAlignment"];
     if(align.length==0 || [align isEqualToString:@"left"])
     {
-        self.alignment= kCTTextAlignmentLeft;
+        self.textalignment= kCTTextAlignmentLeft;
     }
     else if([align isEqualToString:@"right"])
     {
-        self.alignment= kCTTextAlignmentRight;
+        self.textalignment= kCTTextAlignmentRight;
     }
     else if([align isEqualToString:@"center"])
     {
-        self.alignment= kCTTextAlignmentCenter;
+        self.textalignment= kCTTextAlignmentCenter;
     }
     else
     {
-        self.alignment= kCTTextAlignmentLeft;
+        self.textalignment= kCTTextAlignmentLeft;
     }
     
+    
+    
+    
     NSString* colorvalue=drawableTemplate[@"color"];
     if(colorvalue.length>0 )
     {
@@ -60,150 +65,59 @@
 //    self.rect = CGRectMake(0, 0, [self.drawableTemplate[@"width"] doubleValue], [self.drawableTemplate[@"height"] doubleValue]);
 }
 
--(void) Draw3:(CGContextRef) context dataSource:(NSMutableDictionary*)data ParentRect:(CGRect)p_rect startX:(double) x startY:(double) y flipHeight:(double)flip_height range:(NSRange)between_header_and_footer
-{
-    CGRect pdfrect=[self to_parent_rect:p_rect pos:self.rect offsetX:0 offsetY:0];
-    
-    
-    CGFloat fontsize = [self.drawableTemplate[@"size"] doubleValue];
-    
-    
-    
-    NSMutableAttributedString * string = [[NSMutableAttributedString alloc]initWithString:self.text] ;
-    
-    //创建字体以及字体大小
-    CTFontRef helvetica = CTFontCreateWithName(CFSTR("Helvetica"), fontsize, NULL);
-    CTFontRef helveticaBold = CTFontCreateWithName(CFSTR("Helvetica"), fontsize, NULL);
-    //字体,把helvetica 样式加到整个,string上
-    [string addAttribute:(id)kCTFontAttributeName
-                   value:CFBridgingRelease(helvetica)
-                   range:NSMakeRange(0, [string length])];
-    
-    //字体样式 ,把helveticaBold 样式加到整个,string上
-    [string addAttribute:(id)kCTFontAttributeName
-                   value:CFBridgingRelease(helveticaBold)
-                   range:NSMakeRange(0, [string length])];
-    
-    //颜色,此处为黑色,你可以自己改颜色,[UIColor redColor]
-    [string addAttribute:(id)kCTForegroundColorAttributeName
-                   value:(id)self.textColor.CGColor
-                   range:NSMakeRange(0, [string length])];
-    //设置字体间距
-    long number = self.characterSpace;
-    CFNumberRef num = CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt8Type, &number);
-    [string addAttribute:(id)kCTKernAttributeName value:CFBridgingRelease(num) range:NSMakeRange(0, [string length])];
-    CFRelease(num);
-    
-    
-    
-    
-    //创建文本对齐方式
-    CTTextAlignment alignment = self.alignment;//对齐方
-    CTParagraphStyleSetting alignmentStyle;
-    alignmentStyle.spec=kCTParagraphStyleSpecifierAlignment;
-    alignmentStyle.valueSize=sizeof(alignment);
-    alignmentStyle.value=&alignment;
-    
-    //创建文本,    行间距
-    CGFloat lineSpace=self.lineSpace;//间距数据
-    CTParagraphStyleSetting lineSpaceStyle;
-    lineSpaceStyle.spec=kCTParagraphStyleSpecifierLineSpacing;
-    lineSpaceStyle.valueSize=sizeof(lineSpace);
-    lineSpaceStyle.value=&lineSpace;
-    
-    
-    //设置  段落间距
-    CGFloat paragraph = self.paragraphSpace;
-    CTParagraphStyleSetting paragraphStyle;
-    paragraphStyle.spec = kCTParagraphStyleSpecifierParagraphSpacing;
-    paragraphStyle.valueSize = sizeof(CGFloat);
-    paragraphStyle.value = &paragraph;
-    
-    
-    
-    
-    //创建样式数组
-    CTParagraphStyleSetting settings[]={
-        alignmentStyle,lineSpaceStyle,paragraphStyle
-    };
-    
-    //设置样式
-    CTParagraphStyleRef paragraphStyle1 = CTParagraphStyleCreate(settings, sizeof(settings));
-    
-    //给字符串添加样式attribute
- //   [string addAttribute:(id)kCTParagraphStyleAttributeName
-//                   value:(id)paragraphStyle1
-//                   range:NSMakeRange(0, [string length])];
-
-    
-    
-//    [super flipContext:context ContextHeight:flip_height];
-    
-    
-    
-    // 切换上下文 Core Graphics 和 UIKit 混用
-    UIGraphicsPushContext(context);
-    
-    
-//    NSMutableDictionary* attribute = [[NSMutableDictionary alloc]init];
-//    
 
-//
-//    attribute[NSFontAttributeName]=[UIFont systemFontOfSize:fontsize];
-//    
-//    
-//    
-//    attribute[NSForegroundColorAttributeName]=self.textColor;
-    
- 
-
-//
-//
-//    UIKIT_EXTERN NSString * const NSParagraphStyleAttributeName NS_AVAILABLE(10_0, 6_0);      // NSParagraphStyle, default defaultParagraphStyle
-//    UIKIT_EXTERN NSString * const NSBackgroundColorAttributeName NS_AVAILABLE(10_0, 6_0);     // UIColor, default nil: no background
-//    UIKIT_EXTERN NSString * const NSLigatureAttributeName NS_AVAILABLE(10_0, 6_0);            // NSNumber containing integer, default 1: default ligatures, 0: no ligatures
-//    UIKIT_EXTERN NSString * const NSKernAttributeName NS_AVAILABLE(10_0, 6_0);                // NSNumber containing floating point value, in points; amount to modify default kerning. 0 means kerning is disabled.
-//    UIKIT_EXTERN NSString * const NSStrikethroughStyleAttributeName NS_AVAILABLE(10_0, 6_0);  // NSNumber containing integer, default 0: no strikethrough
-//    UIKIT_EXTERN NSString * const NSUnderlineStyleAttributeName NS_AVAILABLE(10_0, 6_0);      // NSNumber containing integer, default 0: no underline
-//    UIKIT_EXTERN NSString * const NSStrokeColorAttributeName NS_AVAILABLE(10_0, 6_0);         // UIColor, default nil: same as foreground color
-//    UIKIT_EXTERN NSString * const NSStrokeWidthAttributeName NS_AVAILABLE(10_0, 6_0);         // NSNumber containing floating point value, in percent of font point size, default 0: no stroke; positive for stroke alone, negative for stroke and fill (a typical value for outlined text would be 3.0)
-//    UIKIT_EXTERN NSString * const NSShadowAttributeName NS_AVAILABLE(10_0, 6_0);              // NSShadow, default nil: no shadow
-//    UIKIT_EXTERN NSString *const NSTextEffectAttributeName NS_AVAILABLE(10_10, 7_0);          // NSString, default nil: no text effect
-//    
-//    UIKIT_EXTERN NSString * const NSAttachmentAttributeName NS_AVAILABLE(10_0, 7_0);          // NSTextAttachment, default nil
-//    UIKIT_EXTERN NSString * const NSLinkAttributeName NS_AVAILABLE(10_0, 7_0);                // NSURL (preferred) or NSString
-//    UIKIT_EXTERN NSString * const NSBaselineOffsetAttributeName NS_AVAILABLE(10_0, 7_0);      // NSNumber containing floating point value, in points; offset from baseline, default 0
-//    UIKIT_EXTERN NSString * const NSUnderlineColorAttributeName NS_AVAILABLE(10_0, 7_0);      // UIColor, default nil: same as foreground color
-//    UIKIT_EXTERN NSString * const NSStrikethroughColorAttributeName NS_AVAILABLE(10_0, 7_0);  // UIColor, default nil: same as foreground color
-//    UIKIT_EXTERN NSString * const NSObliquenessAttributeName NS_AVAILABLE(10_0, 7_0);         // NSNumber containing floating point value; skew to be applied to glyphs, default 0: no skew
-//    UIKIT_EXTERN NSString * const NSExpansionAttributeName NS_AVAILABLE(10_0, 7_0);           // NSNumber containing floating point value; log of expansion factor to be applied to glyphs, default 0: no expansion
-//    
-//    UIKIT_EXTERN NSString * const NSWritingDirectionAttributeName NS_AVAILABLE(10_6, 7_0);    // NSArray of NSNumbers representing the nested levels of writing direction overrides as defined by Unicode LRE, RLE, LRO, and RLO characters.  The control characters can be obtained by masking NSWritingDirection and NSWritingDirectionFormatType values.  LRE: NSWritingDirectionLeftToRight|NSWritingDirectionEmbedding, RLE: NSWritingDirectionRightToLeft|NSWritingDirectionEmbedding, LRO: NSWritingDirectionLeftToRight|NSWritingDirectionOverride, RLO: NSWritingDirectionRightToLeft|NSWritingDirectionOverride,
-//    
-//    UIKIT_EXTERN NSString * const NSVerticalGlyphFormAttributeName NS_AVAILABLE(10_7, 6_0);   // An NSNumber containing an integer value.  0 means horizontal text.  1 indicates vertical text.  If not specified, it could follow higher-level vertical orientation settings.  Currently on iOS, it's always horizontal.  The behavior for any other value is undefined.
-//    
-//    
-
-    
+-(CGRect) Query_Rect:(CGContextRef) context dataSource:(NSMutableDictionary*)data ParentRect:(CGRect)p_rect startX:(double) x startY:(double) y flipHeight:(double)flip_height range:(NSRange)between_header_and_footer
+{
+    CGRect parentrect = [self to_parent_rect:p_rect pos:self.rect offsetX:0 offsetY:0];
     
-    // 使用UIKit绘制内容
- //   [self.text drawInRect:pdfrect withAttributes:attribute];
+    return parentrect;
+}
+-(CTFontRef)CreateFont:(NSString*)name  size:(double)size bold:(bool)bold
+{
     
+    NSString* style = @"Regular";
+    if(bold)
+        style=@"Bold";
+    
+    //name=@"Courier";
+    
+    NSDictionary *fontAttributes =
+    [NSDictionary dictionaryWithObjectsAndKeys:
+     name, (NSString *)kCTFontFamilyNameAttribute,
+     style, (NSString *)kCTFontStyleNameAttribute,
+     [NSNumber numberWithFloat:size],
+     (NSString *)kCTFontSizeAttribute,
+     nil];
+    // Create a descriptor.
+    CTFontDescriptorRef descriptor =
+    CTFontDescriptorCreateWithAttributes((CFDictionaryRef)fontAttributes);
+    
+    // Create a font using the descriptor.
+    CTFontRef font = CTFontCreateWithFontDescriptor(descriptor, 0.0, NULL);
+    CFRelease(descriptor);
 
+    return font;
 
-    [string drawInRect:pdfrect];
-    
-    // 绘制完位图后,再恢复上下文
-    UIGraphicsPopContext();
-    
-//    [super restoreFlip:context ContextHeight:flip_height];
-    
+//    if(bold)
+//    {
+//        CTFontRef font=CTFontCreateWithName((__bridge CFStringRef)name, size, NULL);
+//        CTFontRef font_bold =CTFontCreateCopyWithSymbolicTraits(font, 0.0, NULL, kCTFontBoldTrait, kCTFontBoldTrait);
+//        CFBridgingRelease(font);
+//        return font_bold;
+//    }
+//    return CTFontCreateWithName((__bridge CFStringRef)name, size, NULL);
 }
--(CGRect) Query_Rect:(CGContextRef) context dataSource:(NSMutableDictionary*)data ParentRect:(CGRect)p_rect startX:(double) x startY:(double) y flipHeight:(double)flip_height range:(NSRange)between_header_and_footer
+-(NSString*) QueryFontName:(NSString*)font
 {
-    CGRect parentrect = [self to_parent_rect:p_rect pos:self.rect offsetX:0 offsetY:0];
-    
-    return parentrect;
+    if(font==nil)
+    {
+        return @"Helvetica";
+    }
+    else if([font.lowercaseString isEqualToString:@"kalinga"])
+    {
+        return @"kalinga";
+    }
+    return @"Helvetica";
 }
 -(CGRect) Draw:(CGContextRef) context dataSource:(NSMutableDictionary*)data ParentRect:(CGRect)p_rect startX:(double) x startY:(double) y flipHeight:(double)flip_height range:(NSRange)between_header_and_footer
 {
@@ -228,6 +142,11 @@
         self.text=data[self.drawableTemplate[@"source"]];
     }
     
+    
+    bool bold = [self.drawableTemplate[@"bold"] boolValue];
+    bool italic = [self.drawableTemplate[@"italic"] boolValue];
+    NSString* font=self.drawableTemplate[@"font"];
+    
 //    [super flipContext:context ContextHeight:flip_height];
    // super flipContext:context ContextHeight:<#(double)#>
             CGFloat fontsize = [self.drawableTemplate[@"size"] doubleValue];
@@ -237,17 +156,17 @@
     NSMutableAttributedString *string = [[NSMutableAttributedString alloc]
                                          initWithString:self.text];
     //创建字体以及字体大小
-    CTFontRef helvetica = CTFontCreateWithName(CFSTR("Helvetica"), fontsize, NULL);
-    CTFontRef helveticaBold = CTFontCreateWithName(CFSTR("Helvetica"), fontsize, NULL);
+    CTFontRef ctfont = [self CreateFont:font size:fontsize bold:bold];//CTFontCreateWithName(CFSTR("Helvetica"), fontsize, NULL);
+//    CTFontRef helveticaBold = CTFontCreateWithName(CFSTR("Helvetica"), fontsize, NULL);
     //字体,把helvetica 样式加到整个,string上
     [string addAttribute:(id)kCTFontAttributeName
-                   value:CFBridgingRelease(helvetica)
+                   value:CFBridgingRelease(ctfont)
                    range:NSMakeRange(0, [string length])];
     
     //字体样式 ,把helveticaBold 样式加到整个,string上
-    [string addAttribute:(id)kCTFontAttributeName
-                   value:CFBridgingRelease(helveticaBold)
-                   range:NSMakeRange(0, [string length])];
+//    [string addAttribute:(id)kCTFontAttributeName
+//                   value:CFBridgingRelease(helveticaBold)
+//                   range:NSMakeRange(0, [string length])];
     
     //颜色,此处为黑色,你可以自己改颜色,[UIColor redColor]
     [string addAttribute:(id)kCTForegroundColorAttributeName
@@ -265,7 +184,7 @@
     
     
     //创建文本对齐方式
-    CTTextAlignment alignment = self.alignment;//对齐方
+    CTTextAlignment alignment = self.textalignment;//对齐方
     CTParagraphStyleSetting alignmentStyle;
     alignmentStyle.spec=kCTParagraphStyleSpecifierAlignment;
     alignmentStyle.valueSize=sizeof(alignment);
@@ -310,7 +229,7 @@
     // layout master
     CTFramesetterRef  framesetter = CTFramesetterCreateWithAttributedString((CFAttributedStringRef)string);
     //计算文本绘制size ,这里300是文字宽度,你可以自己更改为247,但是要记得,在height 方法里的这个位置,也改为247
-    CGSize tmpSize = CTFramesetterSuggestFrameSizeWithConstraints(framesetter, CFRangeMake(0,0), NULL, CGSizeMake(self.rect.size.width, MAXFLOAT), NULL);
+    CGSize tmpSize = CTFramesetterSuggestFrameSizeWithConstraints(framesetter, CFRangeMake(0,0), NULL, CGSizeMake(self.rect.size.width-self.margin_left-self.margin_right, MAXFLOAT), NULL);
     //创建textBoxSize以设置view的frame
     CGSize textBoxSize = CGSizeMake((int)tmpSize.width + 1, (int)tmpSize.height + 1);
     //    NSLog(@"textBoxSize0  == %f,%f,%f",textBoxSize.width,textBoxSize.height,textBoxSize.width / textBoxSize.height);
@@ -326,10 +245,18 @@
     
     CGRect parentrect = [self to_parent_rect:p_rect pos:self.rect offsetX:0 offsetY:0];
     
-    CGRect pdfrect = [self to_pdf_rect:p_rect pos:self.rect contextHeight:flip_height];
+    
+    CGRect rect=CGRectMake(parentrect.origin.x, parentrect.origin.y, parentrect.size.width, tmpSize.height);
+    
+    //    CGRect rect=[RAUtils rectAlign:parentrect rect:scalerect hAlign:self.hAlign vAlign:self.vAlign];
+    rect=[RAUtils rectVAlign:parentrect rect:rect vAlign:self.vAlign];
+    
+   // CGRect pdfrect = [self to_pdf_rect:p_rect pos:self.rect contextHeight:flip_height];
+    
+    rect= [self parent_to_pdf_rect:rect contextHeight:flip_height];
   //  pdfrect=CGRectMake(pdfrect.origin.x, flip_height-pdfrect.origin.y, pdfrect.size.width, pdfrect.size.height);
     CGPathAddRect(leftColumnPath, NULL,
-                  pdfrect);
+                  rect);
     
     CTFrameRef leftFrame = CTFramesetterCreateFrame(framesetter,
                                                     CFRangeMake(0, 0),
@@ -364,203 +291,6 @@
     
 //    [super restoreFlip:context ContextHeight:flip_height];
 }
--(void) Draw1:(CGContextRef) context dataSource:(NSMutableDictionary*)data ParentRect:(CGRect)p_rect startX:(double) x startY:(double) y
-{
-    
-//    self.attributedText.length
-//    
-//    if (context == NULL ||
-//        attributedText == nil ||
-//        attributedText.length == 0 ||
-//        CGRectIsEmpty(rect) ||
-//        textRange.length == 0) return;
-    
-    
-//    NSAttributedString* attributedText = [[NSAttributedString alloc]initWithString:self.text];
-    
-    CGContextSaveGState(context);
-    {
-        // Prepare font
-        CGFloat fontsize = [self.drawableTemplate[@"size"] doubleValue];
-        NSString* font = self.drawableTemplate[@"font"] ;
-        
-        if(font==nil)
-        {
-            font=@"STHeitiSC-Medium";
-        }
-        
-        
-        CTFontRef ctfont = CTFontCreateWithName(  (__bridge CFStringRef)font, fontsize, NULL);
-        
-        // text color
-        CGColorRef ctColor = [[UIColor greenColor] CGColor];
-        
-        
-        //text align
-        CTTextAlignment alignment = kCTRightTextAlignment; //文本对齐方式
-        CTParagraphStyleSetting alignmentStyle;
-        
-        alignmentStyle.spec=kCTParagraphStyleSpecifierAlignment;//指定为对齐属性
-        
-        alignmentStyle.valueSize=sizeof(alignment);
-        
-        alignmentStyle.value=&alignment;
-        
-        CTParagraphStyleSetting settings[]={
-            
-            alignmentStyle
-            
-        };//设置样式
-        
-        CTParagraphStyleRef paragraphStyle = CTParagraphStyleCreate(settings, sizeof(settings));
-        
-        
-        
-        CGContextSetShouldSmoothFonts(context, YES);
-        CGContextSetShouldAntialias(context, YES);
-        
-        
-        // Create an attributed string
-        CFStringRef keys[] = { kCTFontAttributeName,kCTForegroundColorAttributeName,kCTParagraphStyleAttributeName };
-        CFTypeRef values[] = { ctfont,ctColor,paragraphStyle};
-        CFDictionaryRef attr = CFDictionaryCreate(NULL, (const void **)&keys, (const void **)&values,
-                                                  sizeof(keys) / sizeof(keys[0]), &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
-        
-        
-        CFStringRef ctStr = CFStringCreateWithCString(nil, [self.text UTF8String], kCFStringEncodingUTF8);
-        CFAttributedStringRef attrString = CFAttributedStringCreate(NULL,ctStr, attr);
-        
 
-//        //给字符串添加样式attribute
-//        
-//        [resultAttributedStringaddAttribute:(id)kCTParagraphStyleAttributeName
-//                                      value:(id)paragraphStyle  
-//         
-//                                      range:NSMakeRange(0, [resultAttributedString length])];
-        
-        
-        
-        CTLineRef line = CTLineCreateWithAttributedString(attrString);
-        CGContextSetTextMatrix(context, CGAffineTransformIdentity);
-        //CGContextSetTextMatrix(context, CGAffineTransformMakeRotation(3.14));
-        //CGContextSetTextMatrix(context, CGAffineTransformMakeScale(1.0, -1.0)); //Use this one if the view's coordinates are flipped
-        CGContextSetTextPosition(context, fontsize, fontsize);
-        CTLineDraw(line, context);
-        
-        
-        
-//        CFRelease(line);
-//        CFRelease(attrString);
-//        CFRelease(ctStr);
-//        
-//        CFStringRef ctStr2 = CFStringCreateWithCString(nil, [sY UTF8String], kCFStringEncodingUTF8);
-//        CFAttributedStringRef attrString2 = CFAttributedStringCreate(NULL,ctStr2, attr);
-//        CTLineRef line2 = CTLineCreateWithAttributedString(attrString2);
-//        CGContextSetTextMatrix(context, CGAffineTransformIdentity);
-//        CGContextSetTextPosition(context, s, 2*s);
-//        CTLineDraw(line2, context);
-//        
-//        CFRelease(line2);
-//        CFRelease(attrString2);
-//        CFRelease(ctStr2);
-//        
-//        CFStringRef ctStr3 = CFStringCreateWithCString(nil, [sZ UTF8String], kCFStringEncodingUTF8);
-//        CFAttributedStringRef attrString3 = CFAttributedStringCreate(NULL,ctStr3, attr);
-//        CTLineRef line3 = CTLineCreateWithAttributedString(attrString3);
-//        CGContextSetTextMatrix(context, CGAffineTransformIdentity);
-//        CGContextSetTextPosition(context, s, 3*s);
-//        CTLineDraw(line3, context);
-//        
-//        CFRelease(line3);
-//        CFRelease(attrString3);
-//        CFRelease(ctStr3);
-//        
-//        // Clean up
-//        CFRelease(attr);
-//        CFRelease(ctfont);
-    }
-    /* Restore the current graphics state from the one on the top of the
-     graphics state stack, popping the graphics state stack in the process. */
-    CGContextRestoreGState(context);
-}
 
--(CGSize)height1:(NSString *)text Font:(CGFloat)font Character:(CGFloat)character Line:(CGFloat)line Pragraph:(CGFloat)pragraph
-{
-    
-    //创建AttributeStringfdsa
-    NSMutableAttributedString *string = [[NSMutableAttributedString alloc]
-                                         initWithString:text];
-    //创建字体以及字体大小
-    CTFontRef helvetica = CTFontCreateWithName(CFSTR("Helvetica"), font, NULL);
-    CTFontRef helveticaBold = CTFontCreateWithName(CFSTR("Helvetica"), font, NULL);
-    //添加字体目标字符串从下标0开始到字符串结尾
-    [string addAttribute:(id)kCTFontAttributeName
-                   value:CFBridgingRelease(helvetica)
-                   range:NSMakeRange(0, [string length])];
-    
-    //添加字体目标字符串从下标0开始,截止到4个单位的长度
-    [string addAttribute:(id)kCTFontAttributeName
-                   value:CFBridgingRelease(helveticaBold)
-                   range:NSMakeRange(0, [string length])];
-    
-    
-    [string addAttribute:(id)kCTForegroundColorAttributeName
-                   value:(id)[UIColor whiteColor].CGColor
-                   range:NSMakeRange(0, [string length])];
-    
-    CTTextAlignment alignment = kCTJustifiedTextAlignment;//这种对齐方式会自动调整,使左右始终对齐
-    CTParagraphStyleSetting alignmentStyle;
-    alignmentStyle.spec=kCTParagraphStyleSpecifierAlignment;//指定为对齐属性
-    alignmentStyle.valueSize=sizeof(alignment);
-    alignmentStyle.value=&alignment;
-    
-    
-    //设置字体间距
-    long number = character;
-    CFNumberRef num = CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt8Type, &number);
-    [string addAttribute:(id)kCTKernAttributeName value:CFBridgingRelease(num) range:NSMakeRange(0, [string length])];
-    CFRelease(num);
-    
-    
-    
-    //创建文本行间距
-    CGFloat lineSpace=line;//间距数据
-    CTParagraphStyleSetting lineSpaceStyle;
-    lineSpaceStyle.spec=kCTParagraphStyleSpecifierLineSpacing;//指定为行间距属性
-    lineSpaceStyle.valueSize=sizeof(lineSpace);
-    lineSpaceStyle.value=&lineSpace;
-    
-    //设置段落间距
-    CGFloat paragraph = pragraph;
-    CTParagraphStyleSetting paragraphStyle;
-    paragraphStyle.spec = kCTParagraphStyleSpecifierParagraphSpacing;
-    paragraphStyle.valueSize = sizeof(CGFloat);
-    paragraphStyle.value = &paragraph;
-    
-    
-    //创建样式数组
-    CTParagraphStyleSetting settings[]={
-        alignmentStyle,lineSpaceStyle,paragraphStyle
-    };
-    
-    //设置样式
-    CTParagraphStyleRef paragraphStyle1 = CTParagraphStyleCreate(settings, sizeof(settings));
-    
-    //给字符串添加样式attribute
-    [string addAttribute:(id)kCTParagraphStyleAttributeName
-                   value:(id)paragraphStyle1
-                   range:NSMakeRange(0, [string length])];
-    
-    // layout master
-    CTFramesetterRef  framesetter = CTFramesetterCreateWithAttributedString((CFAttributedStringRef)string);
-    //计算文本绘制size
-    CGSize tmpSize = CTFramesetterSuggestFrameSizeWithConstraints(framesetter, CFRangeMake(0,0), NULL, CGSizeMake(300, MAXFLOAT), NULL);
-    //创建textBoxSize以设置view的frame
-    CGSize textBoxSize = CGSizeMake((int)tmpSize.width + 1, (int)tmpSize.height + 1);
-    
-
-    
-    return textBoxSize;
-    
-}
 @end

+ 25 - 1
RedAnt ERP Mobile/iSales-NPD.xcodeproj/project.pbxproj

@@ -75,6 +75,8 @@
 		7141DD611C5747CE00F7DF59 /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD5A1C5747CE00F7DF59 /* NSData+Base64.m */; };
 		7141DD621C5747CE00F7DF59 /* NSData+CommonCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD5C1C5747CE00F7DF59 /* NSData+CommonCrypto.m */; };
 		7141DD631C5747CE00F7DF59 /* NSString+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD5E1C5747CE00F7DF59 /* NSString+Base64.m */; };
+		7142E87A1DBF577A0077EFA2 /* KALINGA.TTF in Resources */ = {isa = PBXBuildFile; fileRef = 7142E8781DBF57510077EFA2 /* KALINGA.TTF */; };
+		7142E87B1DBF577A0077EFA2 /* KALINGAB.TTF in Resources */ = {isa = PBXBuildFile; fileRef = 7142E8791DBF57510077EFA2 /* KALINGAB.TTF */; };
 		714B1F401C7BF74100539193 /* OrderDetailSignatureCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 714B1F3F1C7BF74100539193 /* OrderDetailSignatureCell.m */; };
 		715001FF1D114D9100F5927F /* BundleDetailButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 715001FE1D114D9100F5927F /* BundleDetailButton.m */; };
 		715850461CF6F0E500856B20 /* DefaultAppearance.m in Sources */ = {isa = PBXBuildFile; fileRef = 715850451CF6F0E500856B20 /* DefaultAppearance.m */; };
@@ -350,6 +352,8 @@
 		7141DD5C1C5747CE00F7DF59 /* NSData+CommonCrypto.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSData+CommonCrypto.m"; path = "common/AES/NSData+CommonCrypto.m"; sourceTree = SOURCE_ROOT; };
 		7141DD5D1C5747CE00F7DF59 /* NSString+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSString+Base64.h"; path = "common/AES/NSString+Base64.h"; sourceTree = SOURCE_ROOT; };
 		7141DD5E1C5747CE00F7DF59 /* NSString+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSString+Base64.m"; path = "common/AES/NSString+Base64.m"; sourceTree = SOURCE_ROOT; };
+		7142E8781DBF57510077EFA2 /* KALINGA.TTF */ = {isa = PBXFileReference; lastKnownFileType = file; path = KALINGA.TTF; sourceTree = "<group>"; };
+		7142E8791DBF57510077EFA2 /* KALINGAB.TTF */ = {isa = PBXFileReference; lastKnownFileType = file; path = KALINGAB.TTF; sourceTree = "<group>"; };
 		714B1F3E1C7BF74100539193 /* OrderDetailSignatureCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailSignatureCell.h; path = common/Functions/order/OrderDetailSignatureCell.h; sourceTree = SOURCE_ROOT; };
 		714B1F3F1C7BF74100539193 /* OrderDetailSignatureCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailSignatureCell.m; path = common/Functions/order/OrderDetailSignatureCell.m; sourceTree = SOURCE_ROOT; };
 		715001FD1D114D9100F5927F /* BundleDetailButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BundleDetailButton.h; path = common/Functions/BundleDetailButton.h; sourceTree = SOURCE_ROOT; };
@@ -766,8 +770,9 @@
 		712AFEE31DBDAEA000254965 /* PDFResource */ = {
 			isa = PBXGroup;
 			children = (
+				7142E8471DBF01A10077EFA2 /* font */,
 				712AFEE41DBDAF0300254965 /* pdfcreator.xcassets */,
-				712AFEE61DBDB48000254965 /* portfolio_3x2.json */,
+				7142E8481DBF01AC0077EFA2 /* template */,
 			);
 			name = PDFResource;
 			sourceTree = "<group>";
@@ -880,6 +885,23 @@
 			name = "Supporting Files";
 			sourceTree = "<group>";
 		};
+		7142E8471DBF01A10077EFA2 /* font */ = {
+			isa = PBXGroup;
+			children = (
+				7142E8781DBF57510077EFA2 /* KALINGA.TTF */,
+				7142E8791DBF57510077EFA2 /* KALINGAB.TTF */,
+			);
+			name = font;
+			sourceTree = "<group>";
+		};
+		7142E8481DBF01AC0077EFA2 /* template */ = {
+			isa = PBXGroup;
+			children = (
+				712AFEE61DBDB48000254965 /* portfolio_3x2.json */,
+			);
+			name = template;
+			sourceTree = "<group>";
+		};
 		7143E0C919414E4B00B2EB1A /* cartView */ = {
 			isa = PBXGroup;
 			children = (
@@ -1474,6 +1496,8 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				7142E87A1DBF577A0077EFA2 /* KALINGA.TTF in Resources */,
+				7142E87B1DBF577A0077EFA2 /* KALINGAB.TTF in Resources */,
 				713F76C21929F4A7006A7305 /* Images.xcassets in Resources */,
 				713F76B41929F4A7006A7305 /* InfoPlist.strings in Resources */,
 				7162A5A01C58733400AB630E /* status_filter_cadedate_open.json in Resources */,

+ 5 - 0
RedAnt ERP Mobile/iSales-NPD.xcodeproj/xcuserdata/Ray.xcuserdatad/xcschemes/RedAnt ERP Suite.xcscheme

@@ -77,6 +77,11 @@
             value = "YES"
             isEnabled = "NO">
          </EnvironmentVariable>
+         <EnvironmentVariable
+            key = "OS_ACTIVITY_MODE"
+            value = "disable"
+            isEnabled = "YES">
+         </EnvironmentVariable>
       </EnvironmentVariables>
       <AdditionalOptions>
       </AdditionalOptions>

+ 2 - 0
RedAnt ERP Mobile/iSales-NPD/AppDelegate.m

@@ -757,6 +757,8 @@ void UncaughtExceptionHandler(NSException *exception) {
 
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
+    
+  //  [RAUtils enum_font];
     self.disable_trigger = false;
     [self initialExceptionHandler];
     [self becomeObserver];

BIN
RedAnt ERP Mobile/iSales-NPD/KALINGA.TTF


BIN
RedAnt ERP Mobile/iSales-NPD/KALINGAB.TTF


+ 5 - 0
RedAnt ERP Mobile/iSales-NPD/iSales-NPD-Info.plist

@@ -52,5 +52,10 @@
 		<string>UIInterfaceOrientationLandscapeLeft</string>
 		<string>UIInterfaceOrientationLandscapeRight</string>
 	</array>
+	<key>UIAppFonts</key>
+	<array>
+		<string>KALINGA.TTF</string>
+		<string>KALINGAB.TTF</string>
+	</array>
 </dict>
 </plist>

+ 78 - 18
RedAnt ERP Mobile/iSales-NPD/portfolio_3x2.json

@@ -4,8 +4,8 @@
         "height": 612
     },
     "pages": {
-        "count": 1,
-        "page_0":{
+        "count": 2,
+        "page_0": {
             "name": "cover page",
             "header": {},
             "footer": {},
@@ -14,14 +14,13 @@
             "margin_top": 20,
             "margin_bottom": 20,
             "contents": {
-                "count": 3,
+                "count": 6,
                 "item_0": {
                     "type": "img",
-                    
-                    "hAlign":"Center",
-                    "vAlign":"Middle",
+                    "hAlign": "Center",
+                    "vAlign": "Middle",
                     "source": "portfolio_cover_title",
-                    "source_type":"const",
+                    "source_type": "const",
                     "x": 107,
                     "y": 45,
                     "width": 539,
@@ -29,40 +28,101 @@
                 },
                 "item_1": {
                     "type": "img",
-                    
-                    "hAlign":"Center",
-                    "vAlign":"Middle",
+                    "hAlign": "Center",
+                    "vAlign": "Middle",
                     "source": "portfolio_cover_logo",
-                    "source_type":"const",
+                    "source_type": "const",
                     "x": 242,
                     "y": 124,
                     "width": 268,
                     "height": 117
                 },
-                
                 "item_2": {
                     "type": "text",
                     "source": "npd_url",
                     "source_type": "data",
                     "font": "Kalinga",
                     "size": "14",
-                    "x": 287,
-                    "y": 511.56,
-                    "width": 179,
+                    "textAlignment": "center",
+                    "vAlign": "Middle",
+                    "x": 237,
+                    "y": 508,
+                    "width": 279,
                     "height": 34
+                },
+                "item_3": {
+                    "type": "text",
+                    "source": "create_month",
+                    "source_type": "data",
+                    "font": "Kalinga",
+                    "size": "14",
+                    "textAlignment": "center",
+                    "vAlign": "Middle",
+                    "x": 237,
+                    "y": 542,
+                    "width": 279,
+                    "height": 29
+                },
+                "item_4": {
+                    "type": "text",
+                    "source": "company_name",
+                    "source_type": "data",
+                    "font": "Kalinga",
+                    "size": "22",
+                    "textAlignment": "center",
+                    "vAlign": "Middle",
+                    "x": 103,
+                    "y": 243,
+                    "width": 544,
+                    "height": 46,
+                    "bold": true
+                },
+                "item_5": {
+                    "type": "text",
+                    "source": "catalog_name",
+                    "source_type": "data",
+                    "font": "Kalinga",
+                    "size": "22",
+                    "textAlignment": "center",
+                    "vAlign": "Middle",
+                    "x": 103,
+                    "y": 288,
+                    "width": 544,
+                    "height": 38,
+                    "bold": false
                 }
             }
         },
         "page_1": {
-            "name": "cover page",
-            "header": {},
+            "name": "content page",
+            "header": {
+                "type": "group",
+                "x": 0,
+                "y": 0,
+                "width": 500,
+                "height": 40,
+                "items": {
+                    "count": 1,
+                    "item_0": {
+                        "type": "img",
+                        "hAlign": "Left",
+                        "vAlign": "Middle",
+                        "source": "portfolio_logo_s",
+                        "source_type": "const",
+                        "x": 2,
+                        "y": 1,
+                        "width": 47,
+                        "height": 34
+                    }
+                }
+            },
             "footer": {},
             "margin_left": 15,
             "margin_right": 15,
             "margin_top": 15,
             "margin_bottom": 15,
             "contents": {
-                "count": 1,
+                "count": 0,
                 "item_1": {
                     "type": "grid",
                     "data_source": "table1_data",