zoukankan      html  css  js  c++  java
  • ios 创建和绘画pdf文件 -转

    转自:http://blog.csdn.net/ant1239/article/details/7761676

    本方法为项目中画pdf的一个方法,画pdf,一共分为几步,1,获取地址,有两种获取地址方法,这是其中一种,2,关联上下文后开始绘画pdf,开始新的一页后必须用cgcontentbeginpage方法开始新的一页,从新设置坐标,等属性。3,释放。pdf就是个画布,我们是往上面画东西,而不是写东西,还有就是pdf用的坐标系是数学坐标,左下角为原点,而不是编程里常用的左上角为为坐标原点~一下是源码,重复的东西有点多,懒得整理了~关键的就那么几句~

    -(void)MyPDFContextCreate{
    
    //获取路径
    
        NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);坐标
    
        NSString *saveDirectory=[paths objectAtIndex:0];
    
        NSString *saveFileName=@"myPDF.pdf";
    
        NSString *newFilePath=[saveDirectory stringByAppendingPathComponent:saveFileName];
    
        const char *filename=[newFilePath UTF8String];
    
    //设置页面大小
    
        CGRect pageRect=CGRectMake(0, 0, 612, 792);
    
    //关联上下文的对象
    
        CGContextRef pdfContext;
    
        CFStringRef path;
    
        CFURLRef url;
    
        path=CFStringCreateWithCString(NULL, filename, kCFStringEncodingUTF8);
    
        url=CFURLCreateWithFileSystemPath(NULL, path, kCFURLPOSIXPathStyle, 0);
    
        CFRelease(path);
    
        pdfContext=CGPDFContextCreateWithURL(url, &pageRect, nil);
    
        CFRelease(url);
    
        
    
        //开始画pdf
    
        NSString *temtext=[[NSString alloc]init];
    
        const char *text=(char *)[temtext UTF8String];
    
        int  width;
    
        int height;
    
        // 画推荐信
    
        NSNumber *en=[self.fatherobject valueForKey:@"enabel"];
    
        if(en.boolValue){
    
            height=700;
    
    //开始画pdf,开始新的一页
    
            CGContextBeginPage(pdfContext, &pageRect);
    
    //设置字体,字体大小等
    
            CGContextSelectFont(pdfContext, "Helvetica", 30, kCGEncodingMacRoman);
    
            CGContextSetTextDrawingMode(pdfContext, kCGTextFill);
    
            CGContextSetRGBFillColor(pdfContext, 0, 0, 0, 1);
    
            
    
            //画姓名
    
            if(self.firstname!=nil||self.lastname!=nil){
    
                if(self.firstname==nil){
    
                    self.firstname=@"";
    
                }
    
                if(self.lastname==nil){
    
                    self.lastname=@"";
    
                }
    
                temtext=[NSString stringWithFormat:@"%@ %@",self.firstname,self.lastname];
    
    
            }
    
            width=[self getfonttemtext fontsize:30];
    
            text=(char*)[temtext UTF8String];
    
            CGContextSetFontSize(pdfContext, 30);
    
    //关键方法,在指定位置画上text文字,文字必须为char类型
    
            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
    
            height=height-30;
    
            
    
            if((self.street!=nil&&![self.street isEqualToString:@""])||
    
               (self.apt!=nil&&![self.apt isEqualToString:@""])||
    
               (self.city!=nil&&![self.city isEqualToString:@""])||
    
               (self.state!=nil&&![self.state isEqualToString:@""])||
    
               (self.zip!=nil&&![self.zip isEqualToString:@""])){
    
                if(self.street==nil){
    
                    self.street=@"";
    
                }
    
                if(self.apt==nil){
    
                    self.street=@"";
    
                }
    
                if(self.city==nil){
    
                    self.city=@"";
    
                }
    
                if(self.state==nil){
    
                    self.state=@"";
    
                }
    
                if(self.zip==nil){
    
                    self.zip=@"";
    
                }
    
                temtext=[NSString stringWithFormat:@"%@,%@,%@,%@,%@",self.street,self.apt,self.city,self.state,self.zip];
    
                text=(char *)[temtext UTF8String];
    
                width=[self getfonttemtext fontsize:13];
    
                CGContextSetFontSize(pdfContext, 13);
    
                CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
    
                height=height-13;
    
            }
    
            
    
            if(self.phone==nil){
    
                self.phone=@"";
    
            }
    
            if(self.fax==nil){
    
                self.fax=@"";
    
            }
    
            if(self.Email==nil){
    
                self.Email=@"";
    
            }
    
            if(self.website==nil){
    
                self.website=@"";
    
            }
    
            if(![self.phone isEqualToString:@""]||
    
               ![self.fax isEqualToString:@""]||
    
               ![self.Email isEqualToString:@""]||
    
               ![self.website isEqualToString:@""]){
    
                temtext=[NSString stringWithFormat:@"Phone:%@, Fax:%@, Email:%@, Website:%@",self.phone,self.fax,self.Email,self.website];
    
                text=(char *)[temtext UTF8String];
    
                width=[self getfonttemtext fontsize:13];
    
                CGContextSetFontSize(pdfContext, 13);
    
                CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
    
                height=height-13;
    
            }
    
            
    
            //划线
    
            CGContextMoveToPoint(pdfContext, 50, height);
    
            CGContextAddLineToPoint(pdfContext, 612-50, height);
    
            CGContextStrokePath(pdfContext);
    
            height=height-20;
    
            
    
            //画cotterletter内容
    
            NSManagedObject *myobject=[DataController getcontactinfo:self.fatherid];
    
            NSString *myapt=[myobject valueForKey:@"apt"];  
    
            NSString *mycity=[myobject valueForKey:@"city"];
    
            NSString *mycompanyname=[myobject valueForKey:@"companyname"];
    
            NSString *myfirstname=[myobject valueForKey:@"firstname"];
    
            NSString *mylastname=[myobject valueForKey:@"lastname"];
    
            NSString *myposition=[myobject valueForKey:@"postion"];
    
            NSString *mystate=[myobject valueForKey:@"state"];
    
            NSString *mystreet=[myobject valueForKey:@"street"];
    
            NSString *mytitle=[myobject valueForKey:@"title"];
    
            NSString *myzip=[myobject valueForKey:@"zip"];
    
            NSDate *mydate=[myobject valueForKey:@"date"];
    
            
    
            if(mydate!=nil){
    
                NSDateFormatter *myformatter=[[NSDateFormatter alloc]init];
    
                [myformatter setDateFormat:@"MMMM, yyyy"];
    
                temtext=[NSString stringWithFormat:@"%@",[myformatter stringFromDate:mydate]];
    
                [myformatter release];
    
                text=(char *)[temtext UTF8String];
    
                CGContextSetFontSize(pdfContext, 13);
    
                CGContextShowTextAtPoint(pdfContext, 50, height, text, strlen(text));
    
                height=height-30;
    
            }
    
            if((mytitle!=nil&&![mytitle isEqualToString:@""])||
    
               (myfirstname!=nil&&![myfirstname isEqualToString:@""])||
    
               (mylastname!=nil&&![mylastname isEqualToString:@""])){
    
                temtext=[NSString stringWithFormat:@"%@ %@ %@",mytitle,myfirstname,mylastname];
    
                height=[self plaintextatwith:50 450 text:temtext height:height fontsize:13 context:pdfContext];
    
                height=height-14;
    
            }
    
            
    
            if(myposition!=nil&&![myposition isEqualToString:@""]){
    
                temtext=[NSString stringWithFormat:@"%@",myposition];
    
                height=[self plaintextatwith:50 450 text:temtext height:height fontsize:13 context:pdfContext];
    
                height=height-14;
    
            }
    
    
            if(mycompanyname!=nil&&![mycompanyname isEqualToString:@""]){
    
                temtext=[NSString stringWithFormat:@"%@",mycompanyname];
    
                height=[self plaintextatwith:50 450 text:temtext height:height fontsize:13 context:pdfContext];
    
                height=height-14;
    
            }
    
            
    
      
    
            if((![myapt isEqualToString:@""]&&myapt!=nil)||
    
               (![mystreet isEqualToString:@""]&&mystreet!=nil)){
    
                temtext=[NSString stringWithFormat:@"%@.,%@",myapt,mystreet];
    
                height=[self plaintextatwith:50 450 text:temtext height:height fontsize:13 context:pdfContext];
    
                height=height-14;
    
            }
    
    
            if((mycity!=nil&&![mycity isEqualToString:@""])||
    
               (mystate!=nil&&![mystate isEqualToString:@""])||
    
               (myzip!=nil&&![myzip isEqualToString:@""])){
    
                temtext=[NSString stringWithFormat:@"%@,%@,%@",mycity,mystate,myzip];
    
                height=[self plaintextatwith:50 450 text:temtext height:height fontsize:13 context:pdfContext];
    
                height=height-14;
    
            }
    
    
            if((mytitle!=nil&&![mytitle isEqualToString:@""])||
    
               (mylastname!=nil&&![mylastname isEqualToString:@""])){
    
                height=height-15;
    
                temtext=[NSString stringWithFormat:@"Dear %@.%@",mytitle,mylastname];
    
                height=[self plaintextatwith:50 450 text:temtext height:height fontsize:13 context:pdfContext];
    
                height=height-40;
    
            }
    
            
    
            if(self.coverletter!=nil&&![self.coverletter isEqualToString:@""]){
    
                temtext=[NSString stringWithFormat:@"%@",self.coverletter];
    
                height=[self plaintextatwith:50 450 text:temtext height:height fontsize:13 context:pdfContext];
    
            }
    
            //结束
    
            CGContextEndPage(pdfContext);
    
        }
    
        if(YES){
    
        //开始画resume内容
    
        CGContextBeginPage(pdfContext, &pageRect);
    
        CGContextSelectFont(pdfContext, "Helvetica", 30, kCGEncodingMacRoman);
    
        CGContextSetTextDrawingMode(pdfContext, kCGTextFill);
    
        CGContextSetRGBFillColor(pdfContext, 0, 0, 0, 1);
    
        //显示first和lastname
    
    
        if(self.firstname!=nil||self.lastname!=nil){
    
            if(self.firstname==nil)
    
                self.firstname=@"";
    
            if(self.lastname==nil)
    
                self.lastname=@"";
    
            temtext=[NSString stringWithFormat:@"%@ %@",self.firstname,self.lastname];
    
            width=[self getfonttemtext fontsize:30];
    
            height=700; 
    
            text=(char*)[temtext UTF8String];
    
            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
    
        }
    
    
        //显示street等basicinfo信息
    
        //street,apt
    
        if((self.street!=nil &&![self.street isEqualToString:@""])||(self.apt!=nil&&![self.apt isEqualToString:@""])){
    
            if(self.street==nil){
    
                self.street=@"";
    
            }
    
            if(self.apt==nil){
    
                self.apt=@"";
    
            }
    
            height=[self getfontheight:temtext fontsize:10 height:height];
    
            CGContextSelectFont(pdfContext, "Helvetica", 10, kCGEncodingMacRoman);
    
            temtext=[NSString stringWithFormat:@"%@,%@",self.street,self.apt];
    
            width=[self getfonttemtext fontsize:10];
    
            text=(char *)[temtext UTF8String];
    
            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text,strlen(text));
    
        }
    
        
    
        //city,state zip
    
        if((self.city!=nil&&![self.city  isEqualToString:@""])||
    
           (self.state!=nil&&![self.state isEqualToString:@""])||
    
           (self.zip!=nil&&![self.state isEqualToString:@""])){
    
            if(self.city==nil){
    
                self.city=@"";
    
            }
    
            if(self.state==nil){
    
                self.state=@"";
    
            }
    
            if(self.zip==nil){
    
                self.zip=@"";
    
            }
    
            height=[self getfontheight:temtext fontsize:10 height:height];
    
            CGContextSelectFont(pdfContext, "Helvetica", 10,kCGEncodingMacRoman );
    
            temtext=[NSString stringWithFormat:@"%@,%@,%@",self.city,self.state,self.zip];
    
            width=[self getfonttemtext fontsize:10];
    
            text=(char *)[temtext UTF8String];
    
            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
    
        }
    
        
    
        //phone
    
        if(self.phone!=nil&&![self.phone isEqualToString:@""]){
    
            height=[self getfontheight:temtext fontsize:10 height:height];
    
            CGContextSelectFont(pdfContext, "Helvetica", 10,kCGEncodingMacRoman );
    
            temtext=[NSString stringWithFormat:@"Phone: %@",self.phone];
    
            width=[self getfonttemtext fontsize:10];
    
            text=(char *)[temtext UTF8String];
    
            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
    
        }
    
        
    
        //fax
    
        if(self.fax!=nil&&![self.fax isEqualToString:@""]){
    
            height=[self getfontheight:temtext fontsize:10 height:height];
    
           CGContextSelectFont(pdfContext, "Helvetica", 10,kCGEncodingMacRoman );
    
            temtext=[NSString stringWithFormat:@"Fax: %@",self.fax];
    
            width=[self getfonttemtext fontsize:10];
    
            text=(char *)[temtext UTF8String];
    
            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
    
        }
    
        
    
        //Email
    
        if(self.Email!=nil&&![self.Email isEqualToString:@""]){
    
            height=[self getfontheight:temtext fontsize:10 height:height];
    
            temtext=[NSString stringWithFormat:@"Email: %@",self.Email];
    
            width=[self getfonttemtext fontsize:10];
    
            text=(char *)[temtext UTF8String];
    
            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
    
        }
    
        
    
        //website
    
        if(self.website!=nil&&![self.website isEqualToString:@""]){
    
            height=[self getfontheight:temtext fontsize:10 height:height];
    
            temtext=[NSString stringWithFormat:@"Website: %@",self.website];
    
            width=[self getfonttemtext fontsize:10];
    
            text=(char *)[temtext UTF8String];
    
            CGContextShowTextAtPoint(pdfContext, (612-width)/2, height, text, strlen(text));
    
        }
    
        
    
     
    
        
    
        //Objective
    
        if(self.objective!=nil&&![self.objective isEqualToString:@""]){
    
            //画线
    
            height=[self getfontheight:temtext fontsize:10 height:height];
    
            CGContextMoveToPoint(pdfContext, 50, height);
    
            CGContextAddLineToPoint(pdfContext, 612-50, height);
    
            CGContextStrokePath(pdfContext);
    
            
    
            height=height-20;
    
            text=(char *)[@"Objective" UTF8String];
    
            CGContextSetFontSize(pdfContext, 15);
    
            CGContextShowTextAtPoint(pdfContext, 55, height, text, strlen(text));
    
        
    
          //  CGContextSetFontSize(pdfContext, 10);
    
            height=height+13;
    
            temtext=[NSString stringWithFormat:@"%@",self.objective];
    
            height=[self plaintextatwith:150 350 text:temtext height:height fontsize:13 context:pdfContext];
    
        }
    
        //5个可以排序的
    
        for (int i=0;i<5;i++){
    
            if([OrderData getskillnumber]==i){                  //skill
    
                if(self.skills!=nil&&[self.skills count]!=0){
    
                    // skill划线
    
                    height=[self getfontheight:temtext fontsize:15 height:height];
    
                    CGContextMoveToPoint(pdfContext, 50, height);
    
                    CGContextAddLineToPoint(pdfContext, 612-50, height);
    
                    CGContextStrokePath(pdfContext);
    
                    height=height-20;
    
                    text=(char *)[@"Skills" UTF8String];
    
                    CGContextSetFontSize(pdfContext, 15);
    
                    CGContextShowTextAtPoint(pdfContext, 55, height, text, strlen(text));
    
                    
    
                    //skill内容
    
                    //height=height+13;
    
                    for(int i=0;i<[self.skills count];i++){
    
                        NSManagedObject *object=[self.skills objectAtIndex:i];
    
                        temtext=[NSString stringWithFormat:@"* %@",[object valueForKey:@"skill"]];
    
                        height=[self plaintextatwith:150 350 text:temtext height:height fontsize:13 context:pdfContext];
    
                      //  height=height-13;
    
                        
    
                    }
    
                    
    
             
    
                }
    
            }else if([OrderData getothernumber]==i){                //other
    
                if(self.others!=nil&&[self.others count]!=0){
    
                    // other划线
    
                    height=[self getfontheight:temtext fontsize:15 height:height];
    
                    CGContextMoveToPoint(pdfContext, 50, height);
    
                    CGContextAddLineToPoint(pdfContext, 612-50, height);
    
                    CGContextStrokePath(pdfContext);
    
                    
    
                    height=height-20;
    
                    text=(char *)[@"Others" UTF8String];
    
                    CGContextSetFontSize(pdfContext, 15);
    
                    CGContextShowTextAtPoint(pdfContext, 55, height, text, strlen(text));
    
                    //other内容
    
                    for(int i=0;i<[self.others count];i++){
    
                        NSManagedObject *object=[self.others objectAtIndex:i];
    
                        temtext=[NSString stringWithFormat:@"* %@",[object valueForKey:@"other"]];
    
                        height=[self plaintextatwith:150 350 text:temtext height:height fontsize:13 context:pdfContext];
    
                      //  height=height-13;
    
                        
    
                    }
    
            
    
                }
    
            }else if([OrderData getexperiencenumber]==i){                   //experience
    
                if(self.experience!=nil&&[self.experience count]!=0){
    
                    //排序
    
                    NSSortDescriptor *descriptor=[NSSortDescriptor sortDescriptorWithKey:@"start" ascending:NO];
    
                    [self.experience setArray:[self.experience sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor, nil]]];
    
                    // other划线
    
                    height=[self getfontheight:temtext fontsize:15 height:height];
    
                    CGContextMoveToPoint(pdfContext, 50, height);
    
                    CGContextAddLineToPoint(pdfContext, 612-50, height);
    
                    CGContextStrokePath(pdfContext);
    
                    
    
                    height=height-20;
    
                    text=(char *)[@"Experience" UTF8String];
    
                    CGContextSetFontSize(pdfContext, 15);
    
                    CGContextShowTextAtPoint(pdfContext, 55, height, text, strlen(text));
    
     
    
                    //experience内容
    
                    for(int i=0;i<[self.experience count];i++){
    
                        NSManagedObject *object=[self.experience objectAtIndex:i];
    
                        NSString *position=[object valueForKey:@"position"];
    
                        NSString *companyname=[object valueForKey:@"companyname"];
    
                        NSString *location=[object valueForKey:@"location"];
    
                        NSDate *startdate=[object valueForKey:@"start"];
    
                        NSDate *enddate=[object valueForKey:@"end"];
    
                        NSString *thisid=[object valueForKey:@"thisid"];
    
                        
    
                        temtext=[NSString stringWithFormat:@"%@",position];
    
                        height=[self plaintextatwith:150 350 text:temtext height:height fontsize:15 context:pdfContext];
    
                        
    
                        height=height-13;
    
                        temtext=[NSString stringWithFormat:@"%@, %@",companyname,location];
    
                        height=[self plaintextatwith:180 320 text:temtext height:height fontsize:13 context:pdfContext];
    
                        
    
                        height=height-13;
    
                        NSDateFormatter *timeformatter=[[NSDateFormatter alloc]init];
    
                        [timeformatter setDateFormat:@"MMMM, yyyy"];
    
                        NSNumber *number=(NSNumber*)[object valueForKey:@"currentjob"];
    
                        if(!number.boolValue){
    
                            temtext=[NSString stringWithFormat:@"%@ ~ %@",[timeformatter stringFromDate:startdate],[timeformatter stringFromDate:enddate]];
    
                        }else{
    
                             temtext=[NSString stringWithFormat:@"%@ ~ Present",[timeformatter stringFromDate:startdate]];
    
                        }
    
                        [timeformatter release];
    
                        height=[self plaintextatwith:180 320 text:temtext height:height fontsize:13 context:pdfContext];
    
                        
    
                        NSMutableArray *responsibility=[DataController getresponsibility:thisid];
    
                        NSLog(@"responsibility cout:%d 
     responsibility context:%@",[responsibility count],responsibility);
    
                        for(int j=0;j<[responsibility count];j++){
    
                            NSManagedObject *object=[responsibility objectAtIndex:j];
    
                            NSString *respon=[object valueForKey:@"responsibility"];
    
                            temtext=[NSString stringWithFormat:@"* %@",respon];
    
                            height=[self plaintextatwith:150 350 text:temtext height:height fontsize:13 context:pdfContext];
    
                            height=height-13;
    
                            NSLog(@"J=%d",j);
    
                        }               
    
                        height=height-15;
    
                    }
    
    
                }
    
            }else if([OrderData geteducationnumber]==i){                    //Education
    
                if(self.education!=nil&&[self.education count]!=0){
    
                    //排序
    
                    NSSortDescriptor *descriptor=[NSSortDescriptor sortDescriptorWithKey:@"starttime" ascending:NO];
    
                    [self.education setArray:[self.education sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor, nil]]];
    
                    
    
                    // other划线
    
                    height=[self getfontheight:temtext fontsize:15 height:height];
    
                    CGContextMoveToPoint(pdfContext, 50, height);
    
                    CGContextAddLineToPoint(pdfContext, 612-50, height);
    
                    CGContextStrokePath(pdfContext);
    
                    height=height-20;
    
                    text=(char *)[@"Education" UTF8String];
    
                    CGContextSetFontSize(pdfContext, 15);
    
                    CGContextShowTextAtPoint(pdfContext, 55, height, text, strlen(text));
    
                    
    
                    //内容
    
                    for(int i=0;i<[self.education count];i++){
    
                        NSManagedObject *object=[self.education objectAtIndex:i];
    
                        NSString *schoolname=[object valueForKey:@"school"];
    
                        NSDate *startdate=[object valueForKey:@"starttime"];
    
                        NSDate *enddate=[object valueForKey:@"endtime"];
    
                        NSString *comment=[object valueForKey:@"comment"];
    
                        NSString *major=[object valueForKey:@"major"];
    
                        
    
                        //height=height-13;
    
                        temtext=[NSString stringWithFormat:@"%@",schoolname];
    
                        height=[self plaintextatwith:150 350 text:temtext height:height fontsize:15 context:pdfContext];    
    
                        
    
                        height=height-13;
    
                        NSDateFormatter *timeformatter=[[NSDateFormatter alloc]init];
    
                        [timeformatter setDateFormat:@"MMMM, yyyy"];
    
                        temtext=[NSString stringWithFormat:@"%@ ~ %@",[timeformatter stringFromDate:startdate],[timeformatter stringFromDate:enddate]];
    
                        [timeformatter release];
    
                        height=[self plaintextatwith:180 320 text:temtext height:height fontsize:13 context:pdfContext];
    
                        
    
                        height=height-13;
    
                        temtext=[NSString stringWithFormat:@"%@",major];
    
                        height=[self    plaintextatwith:180 320 text:temtext height:height fontsize:13 context:pdfContext];
    
                        
    
                        height=height-13;
    
                        temtext=[NSString stringWithFormat:@"%@",comment];
    
                        height=[self plaintextatwith:180 320 text:temtext height:height fontsize:13 context:pdfContext];
    
                        
    
                    }
    
                    
    
                }
    
            }else if([OrderData getawardnumber]==i){            //award
    
                if(self.awards!=nil&&[self.awards count]!=0){
    
                    //排序
    
                    NSSortDescriptor *descriptor=[NSSortDescriptor sortDescriptorWithKey:@"awarddate" ascending:NO];
    
                    [self.awards setArray:[self.awards sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor, nil]]];
    
                    // other划线
    
                    height=[self getfontheight:temtext fontsize:15 height:height];
    
                    CGContextMoveToPoint(pdfContext, 50, height);
    
                    CGContextAddLineToPoint(pdfContext, 612-50, height);
    
                    CGContextStrokePath(pdfContext);
    
                    
    
                    height=height-20;
    
                    text=(char *)[@"Awards" UTF8String];
    
                    CGContextSetFontSize(pdfContext, 15);
    
                    CGContextShowTextAtPoint(pdfContext, 55, height, text, strlen(text));
    
                    //award内容
    
                    for(int i=0;i<[self.awards count];i++){
    
                        NSManagedObject *object=[self.awards objectAtIndex:i];
    
                        NSString *comment=[object valueForKey:@"comment"];
    
                        NSString *name=[object valueForKey:@"name"];
    
                        NSDate *awarddate=[object valueForKey:@"awarddate"];
    
                        
    
                        temtext=[NSString stringWithFormat:@"%@",name];
    
                       height= [self plaintextatwith:150 350 text:temtext height:height fontsize:15 context:pdfContext];
    
                        
    
                        height=height-13;
    
                        NSDateFormatter *timeformatter=[[NSDateFormatter alloc]init];
    
                        [timeformatter setDateFormat:@"MMMM, dd, yyyy"];
    
                        temtext=[NSString stringWithFormat:@"%@",[timeformatter stringFromDate:awarddate]];
    
                        [timeformatter release];
    
    
                        height=[self plaintextatwith:180 320 text:temtext height:height fontsize:15 context:pdfContext];
    
                       height=height-13;
    
                        temtext=[NSString stringWithFormat:@"%@",comment];
    
                        height=[self plaintextatwith:180 320 text:temtext height:height fontsize:13 context:pdfContext];
    
                        
    
                        height=height-15;
    
                        }
    
                    }
    
                }
    
            } 
    
                   CGContextEndPage(pdfContext);
    
        }
    
            CGContextRelease(pdfContext);
    
    }
  • 相关阅读:
    解决SharePoint 2010拒绝访问爬网内容源错误
    Sharepoint 2010 工作流状态值
    修改任务显示WrkTaskIp.aspx页面
    Infopath 2013 通过UserProfileService读取AD用户信息
    js验证
    .net中下载文件的方法(转)
    IIS限制ASP.Net 文件上传大小解决方案,修改IIS7/7.5配置
    SharePoint2013 SharePoint-Hosted 模式 分页方法
    技术QQ群
    react学习
  • 原文地址:https://www.cnblogs.com/endtel/p/4846279.html
Copyright © 2011-2022 走看看