ios创建rtf文件

rtf文件比较烦人,用的是自身的一种语言,用法和html差不多,就是rtf语言比较繁杂,rtf有两种格式,一种有图片,一种是木油图片的纯文本格式。

-(void)MyRTFCreate{

    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,   NSUserDomainMask, YES);

    NSString *saveDirectory=[paths objectAtIndex:0];

    NSString *saveFileName=@"myRTF.rtf";

    NSString *newFilePath=[saveDirectory stringByAppendingPathComponent:saveFileName];

    

    NSMutableString *rtfstring=[[[NSMutableString alloc]init]autorelease];

    NSString *temtext=[[[NSString alloc]init]autorelease];

//rtf文件语言以{开始,以}结束,相当于html里的《html》《/html》

    [rtfstring appendString:@"{\\rtf1\\viewkind4\\qc "];

    // 画推荐信

    if([self.fatherobject valueForKey:@"enabel"]){

        [rtfstring appendString:@"{\\qc"];

        //画姓名

        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];

            [rtfstring appendFormat:@"\\par\\fs48\\b %@\\b0\\par ",temtext];

        }

        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];

            [rtfstring appendFormat:@"\\qc\\fs24 %@\\par ",temtext];

        }

        

        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:@"\\qc Phone:%@,Fax:%@,Email:%@,Website:%@ \\par",self.phone,self.fax,self.Email,self.website];

            [rtfstring appendFormat:@"%@",temtext];

        }

        

        //线

        

        //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];

            [rtfstring appendFormat:@"\\ql\\fs24 %@ \\par ",temtext];

        }

        if(mytitle==nil){

            mytitle=@"";

        }

        if(myfirstname==nil){

            myfirstname=@"";

        }

        if(mylastname==nil){

            mylastname=@"";

        }

        if((mytitle!=nil&&![mytitle isEqualToString:@""])||

           (myfirstname!=nil&&![myfirstname isEqualToString:@""])||

           (mylastname!=nil&&![mylastname isEqualToString:@""])){

            temtext=[NSString stringWithFormat:@"%@ %@ %@",mytitle,myfirstname,mylastname];

            [rtfstring appendFormat:@"%@  \\par ",temtext];

        }

        

        if(myposition==nil){

            myposition=@"";

        }

        if(myposition!=nil&&![myposition isEqualToString:@""]){

            temtext=[NSString stringWithFormat:@"%@",myposition];

            [rtfstring appendFormat:@"%@ \\par ",temtext];

        }

        

        if(mycompanyname==nil){

            mycompanyname=@"";

        }

        if(mycompanyname!=nil&&[mycompanyname isEqualToString:@""]){

            temtext=[NSString stringWithFormat:@"%@",mycompanyname];

            [rtfstring appendFormat:@"%@ \\par ",temtext];

        }

        

        if(myapt==nil){

            myapt=@"";

        }

        if(mystreet==nil){

            mystreet=@"";

        }

        if((![myapt isEqualToString:@""]&&myapt!=nil)||

           (![mystreet isEqualToString:@""]&&mystreet!=nil)){

            temtext=[NSString stringWithFormat:@"%@.,%@",myapt,mystreet];

            [rtfstring appendFormat:@"%@ \\par ",temtext];

        }

        

        if(mycity==nil){

            mycity=@"";

        }

        if(mystate==nil){

            mystate=@"";

        }

        if(myzip==nil){

            myzip=@"";

        }

        if((mycity!=nil&&![mycity isEqualToString:@""])||

           (mystate!=nil&&![mystate isEqualToString:@""])||

           (myzip!=nil&&![myzip isEqualToString:@""])){

            temtext=[NSString stringWithFormat:@"%@,%@,%@",mycity,mystate,myzip];

            [rtfstring appendFormat:@"%@ \\par ",temtext];

        }

        

        if(mytitle==nil){

            mytitle=@"";

        }

        if(mylastname==nil){

            mylastname=@"";

        }

        if((mytitle!=nil&&![mytitle isEqualToString:@""])||

           (mylastname!=nil&&![mylastname isEqualToString:@""])){

            temtext=[NSString stringWithFormat:@"Dear %@.%@",mytitle,mylastname];

            [rtfstring appendFormat:@"%@ \\par ",temtext];

        }

        

        if(self.coverletter!=nil&&![self.coverletter isEqualToString:@""]){

            temtext=[NSString stringWithFormat:@"%@",self.coverletter];

            [rtfstring appendFormat:@"%@ \\par ",temtext];

        }

        

        [rtfstring appendString:@"}"];

        //结束

    }

//resume内容

    if(self.firstname!=nil||self.lastname!=nil){

        if(self.firstname==nil)

            self.firstname=@"";

        if(self.lastname==nil)

            self.lastname=@"";

           temtext=[NSString stringWithFormat:@"\\par\\par\\fs48\\b %@ %@ \\b0\\par",self.firstname,self.lastname];

    }

    [rtfstring appendString:temtext];

    //显示streetbasicinfo

    //streetapt

    if((self.street!=nil &&![self.street isEqualToString:@""])||(self.apt!=nil&&![self.apt isEqualToString:@""])){

        temtext=[NSString stringWithFormat:@"%@,%@",self.street,self.apt];

        [rtfstring appendFormat:@"\\fs24 %@ \\par ",temtext];

    }

    //city,state zip

    if((self.city!=nil&&![self.city  isEqualToString:@""])||

       (self.state!=nil&&![self.state isEqualToString:@""])||

       (self.zip!=nil&&![self.state isEqualToString:@""])){

        temtext=[NSString stringWithFormat:@"\\fs24 %@,%@,%@",self.city,self.state,self.zip];

        [rtfstring appendFormat:@"%@ \\par ",temtext];

    }

    //phone

    if(self.phone!=nil&&![self.phone isEqualToString:@""]){

        temtext=[NSString stringWithFormat:@"\\fs24 Phone: %@",self.phone];

        [rtfstring appendFormat:@" %@ \\par ",temtext];

    }

    

    //fax

    if(self.fax!=nil&&![self.fax isEqualToString:@""]){

        temtext=[NSString stringWithFormat:@"Fax: %@",self.fax];

        [rtfstring appendFormat:@"\\fs24 %@ \\par ",temtext];

    }

    

    //Email

    if(self.Email!=nil&&![self.Email isEqualToString:@""]){

        temtext=[NSString stringWithFormat:@"Email: %@",self.Email];

        [rtfstring appendFormat:@"\\fs24 %@ \\par ",temtext];

    }

    

    //website

    if(self.website!=nil&&![self.website isEqualToString:@""]){

        temtext=[NSString stringWithFormat:@"Website: %@",self.website];

        [rtfstring appendFormat:@"\\fs24 %@ \\par ",temtext];

    }

    

    //Objective

    if(self.objective!=nil&&![self.objective isEqualToString:@""]){

        [rtfstring appendString:@"\\itap1\\trowd \\trbrdrt\\brdrw10\\clbrdrl\\brdrw0\\clbrdrr\\brdrw0\\clbrdrb\\brdrw0 \\clwWidth1500\\ql\\b\\fs24 Objective \\b0 \\cell\\cellx2732"];

        temtext=[NSString stringWithFormat:@"\\fs24 %@\\",self.objective];

        [rtfstring appendFormat:@" \\clbrdrl\\brdrw0\\clbrdrr\\brdrw0\\clbrdrb\\brdrw0  %@ \\par\\cell\\cellx2732\\lastrow\\row",temtext];

        // 线

    }

    //5个可以排序的

    for (int i=0;i<5;i++){

        if([OrderData getskillnumber]==i){                  //skill

            if(self.skills!=nil&&[self.skills count]!=0){

                [rtfstring appendString:@"\\itap1 \\trowd\\trbrdrt\\brdrw10\\clwWidth1500\\clbrdrl\\brdrw0\\clbrdrr\\brdrw0\\clbrdrb\\brdrw0 \\fs24\\ql\\b Skills \\b0\\cell\\cellx2732"];               

                //skill内容

                for(int i=0;i<[self.skills count];i++){

                    NSManagedObject *object=[self.skills objectAtIndex:i];

                    temtext=[NSString stringWithFormat:@"\\fs24 * %@",[object valueForKey:@"skill"]];

                    [rtfstring appendFormat:@"   %@ \\par ",temtext];

                }

                [rtfstring appendString:@"\\clbrdrl\\brdrw0\\clbrdrr\\brdrw0\\clbrdrb\\brdrw0 \\cell\\cellx2732\\lastrow\\row"];

                // skill线

            }

        }else if([OrderData getothernumber]==i){                //other

            if(self.others!=nil&&[self.others count]!=0){

                [rtfstring appendString:@"\\itap1 \\trowd\\trbrdrt\\brdrw10\\clwWidth1500\\clbrdrl\\brdrw0\\clbrdrr\\brdrw0\\clbrdrb\\brdrw0\\fs24\\ql\\b Others \\b0\\cell\\cellx2732"];

                //other内容

                //内容

                for(int i=0;i<[self.others count];i++){

                    NSManagedObject *object=[self.others objectAtIndex:i];

                    temtext=[NSString stringWithFormat:@"\\fs24 * %@",[object valueForKey:@"other"]];

                    [rtfstring appendFormat:@"  \\clbrdrb\\brdrw0\\clbrdrr\\brdrw0\\clbrdrl\\brdrw0   %@ \\par",temtext];

                }

                [rtfstring appendString:@"\\cell\\cellx2732\\lastrow\\row"];

                // other线

            }

        }else if([OrderData getexperiencenumber]==i){                   //experience

            if(self.experience!=nil&&[self.experience count]!=0){

                [rtfstring appendString:@"\\itap1\\trowd\\trbrdrt\\brdrw10\\clwWidth1500\\clbrdrl\\brdrw0\\clbrdrr\\brdrw0\\clbrdrb\\brdrw0 \\fs24\\ql\\b Experience \\b0\\cell\\cellx2732"];

                //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:@"\\fs24 %@",position];

                    [rtfstring appendFormat:@"%@ \\par",temtext];

                    

                    temtext=[NSString stringWithFormat:@"\\fs24 %@...%@",companyname,location];

                   [rtfstring appendFormat:@"%@ \\par",temtext];

                    


                    NSDateFormatter *timeformatter=[[NSDateFormatter alloc]init];

                    [timeformatter setDateFormat:@"MMMM, yyyy"];

                    NSNumber *number=[object valueForKey:@"currentjob"];

                    if(!number.boolValue){

                        temtext=[NSString stringWithFormat:@"\\fs24 %@ ~ %@",[timeformatter stringFromDate:startdate],[timeformatter stringFromDate:enddate]];

                    }else{

                        temtext=[NSString stringWithFormat:@"\\fs24 %@ ~ Present",[timeformatter stringFromDate:startdate]];

                    }

                    [timeformatter release];

                    [rtfstring appendFormat:@"%@ \\par",temtext];

                    NSMutableArray *responsibility=[DataController getresponsibility:thisid];

                    for(int j=0;j<[responsibility count];j++){

                        NSManagedObject *object=[responsibility objectAtIndex:j];

                        

                        NSString *respon=[object valueForKey:@"responsibility"];

                        temtext=[NSString stringWithFormat:@"\\fs24 * %@",respon];

                        [rtfstring appendFormat:@"%@ \\par",temtext];

                    }

                }

                [rtfstring appendString:@"\\clbrdrl\\brdrw0\\clbrdrr\\brdrw0\\clbrdrb\\brdrw0 \\cell\\cellx2732\\lastrow\\row"];

                // 线

            }

        }else if([OrderData geteducationnumber]==i){                    //Education

            if(self.education!=nil&&[self.education count]!=0){

                [rtfstring appendString:@" \\itap1\\trowd\\trbrdrt\\brdrw10\\clwWidth1500\\clbrdrl\\brdrw0\\clbrdrr\\brdrw0\\clbrdrb\\brdrw0 \\fs24\\ql\\b Education \\b0\\cell\\cellx2732"];

                

                //内容

                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"];

                    

                    temtext=[NSString stringWithFormat:@"\\fs24 %@",schoolname];

                    [rtfstring appendFormat:@"%@ \\par",temtext];

                    

                    NSDateFormatter *timeformatter=[[NSDateFormatter alloc]init];

                    [timeformatter setDateFormat:@"MMMM, yyyy"];

                    

                    temtext=[NSString stringWithFormat:@"\\fs24 %@ ~ %@",[timeformatter stringFromDate:startdate],[timeformatter stringFromDate:enddate]];

                    [timeformatter release];

                    [rtfstring appendFormat:@"%@ \\par",temtext];

                    

                    temtext=[NSString stringWithFormat:@"\\fs24 %@",major];

                    [rtfstring appendFormat:@"%@ \\par",temtext];

                    

                    temtext=[NSString stringWithFormat:@"\\fs24 %@",comment];

                    [rtfstring appendFormat:@"%@ \\par",temtext];

                    

                }

                [rtfstring appendString:@"\\clbrdrl\\brdrw0\\clbrdrr\\brdrw0\\clbrdrb\\brdrw0 \\cell\\cellx2732\\lastrow\\row"];

                // 线

            }

        }else if([OrderData getawardnumber]==i){            //award

            if(self.awards!=nil&&[self.awards count]!=0){

                [rtfstring appendString:@"\\itap1\\trowd\\trbrdrt\\brdrw10\\clwWidth1500\\clbrdrl\\brdrw0\\clbrdrr\\brdrw0\\clbrdrb\\brdrw0 \\fs24\\ql\\b Awards \\b0\\cell\\cellx2732"];

                //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:@"\\fs24 %@",name];

                    [rtfstring appendFormat:@"%@ \\par",temtext];

                    

                    NSDateFormatter *timeformatter=[[NSDateFormatter alloc]init];

                    [timeformatter setDateFormat:@"MMMM, dd, yyyy"];

                    temtext=[NSString stringWithFormat:@"\\fs24 %@",[timeformatter stringFromDate:awarddate]];

                    [timeformatter release];

                    [rtfstring appendFormat:@"%@ \\par",temtext];

                    

                    temtext=[NSString stringWithFormat:@"\\fs24 %@",comment];

                   [rtfstring appendFormat:@"%@ \\par",temtext];

                }

                [rtfstring appendString:@"\\clbrdrl\\brdrw0\\clbrdrr\\brdrw0\\clbrdrb\\brdrw0 \\cell\\cellx2732\\lastrow\\row"];

                // 线

            }

        }

    }

    [rtfstring appendString:@"}"];

    [rtfstring writeToFile:newFilePath atomically:YES encoding:NSUTF8StringEncoding error:nil];

    witchfile=2;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值