ios画html文件比较简单,就是创建个html文件,然后可劲往里面塞字符串就行了~字符串内容就是html语言控制html的内容,
-(void)MyHTMLCreate{
//先弄个地址
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *saveDirectory=[paths objectAtIndex:0];
NSString *saveFileName=@"myHTML.html";
NSString *filepath=[saveDirectory stringByAppendingPathComponent:saveFileName];
//字符串,所有要写入html的内容都塞到这个字符串里,后面创建文件时一并塞进去
NSMutableString *htmlstring=[[NSMutableString alloc]initWithString:@"<html>"];
NSString *temtext;
[htmlstring appendString:@"<head>"];
[htmlstring appendString:@"<style type=\"text/css\"<!--body{line-height:50%}--></style>"];//控制行间距
// [htmlstring appendString:@"<HR align=center width=612 color=#00ffff noShade SIZE=1>"];
[htmlstring appendString:@"</head>"];
[htmlstring appendString:@"<body>"];
// 画推荐信
if([self.fatherobject valueForKey:@"enabel"]){
//画姓名
[htmlstring appendString:@"<table align=\"center\" width=612 style=\"table-layout:fixed;word-wrap:break-word;\" border=\"0\"> "];
[htmlstring appendString:@"<caption>"];
if(self.firstname!=nil||self.lastname!=nil){
if(self.firstname==nil){
self.firstname=@"";
}
if(self.lastname==nil){
self.lastname=@"";
}
[htmlstring appendFormat:@"<br/><FONT SIZE=30> %@ %@ </FONT><br/>",self.firstname,self.lastname];
}
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];
[htmlstring appendFormat:@"<FONT SIZE=1>%@</FONT><br/>",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:@"Phone:%@,Fax:%@,Email:%@,Website:%@",self.phone,self.fax,self.Email,self.website];
[htmlstring appendFormat:@"<FONT SIZE=1>%@</FONT><br/></caption>",temtext];
}
//划线
temtext=[NSString stringWithFormat:@"<tr><td><HR align=center width=612 color=#00ffff noShade SIZE=1></td></tr>"];
[htmlstring appendString: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];
[htmlstring appendFormat:@"<tr><td> </td></tr><tr><td><FONT SIZE =1>%@</FONT></td></tr><br/><br/><tr><td> </td></tr>",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];
[htmlstring appendFormat:@"<tr><td><FONT SIZE=1>%@</FONT></td></tr><br/>",temtext];
}
if(myposition==nil){
myposition=@"";
}
if(myposition!=nil&&![myposition isEqualToString:@""]){
temtext=[NSString stringWithFormat:@"%@",myposition];
[htmlstring appendFormat:@"<tr><td><FONT SIZE=1>%@</FONT></td></tr><br/>",temtext];
}
if(mycompanyname==nil){
mycompanyname=@"";
}
if(mycompanyname!=nil&&![mycompanyname isEqualToString:@""]){
temtext=[NSString stringWithFormat:@"%@",mycompanyname];
[htmlstring appendFormat:@"<tr><td><FONT SIZE=1>%@</FONT></td></tr><br/>",temtext];
}
if(myapt==nil){
myapt=@"";
}
if(mystreet==nil){
mystreet=@"";
}
if((![myapt isEqualToString:@""]&&myapt!=nil)||
(![mystreet isEqualToString:@""]&&mystreet!=nil)){
temtext=[NSString stringWithFormat:@"%@.,%@",myapt,mystreet];
[htmlstring appendFormat:@"<tr><td><FONT SIZE=1>%@</FONT></td></tr><br/>"];
}
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];
[htmlstring appendFormat:@"<tr><td><FONT SIZE=1>%@</FONT></td></tr><br/>"];
}
if(mytitle==nil){
mytitle=@"";
}
if(mylastname==nil){
mylastname=@"";
}
if((mytitle!=nil&&![mytitle isEqualToString:@""])||
(mylastname!=nil&&![mylastname isEqualToString:@""])){
temtext=[NSString stringWithFormat:@"Dear %@.%@",mytitle,mylastname];
[htmlstring appendFormat:@"<tr><td> <br/> </td></tr><tr><td><FONT SIZE=1>%@</FONT></td></tr>",temtext];
}
if(self.coverletter!=nil&&![self.coverletter isEqualToString:@""]){
temtext=[NSString stringWithFormat:@"%@",self.coverletter];
[htmlstring appendFormat:@"<br/><br/><tr><td><FONT SIZE=1>%@</FONT></td></tr>",temtext];
}
[htmlstring appendString:@"</table>"];
}
// [htmlstring appendString:@"</caption>"];
[htmlstring appendString:@""];
temtext=[NSString stringWithFormat:@"<HR align=center width=612 color=#00ffff noShade SIZE=3 >"];
[htmlstring appendString:temtext];
//正文
// [htmlstring appendString:@"<HR align=center width=612 color=#00ffff noShade SIZE=1>"];
[htmlstring appendString:@"<table frame=\"above\" align=\"center\" rules=\"rows\" style=\"table-layout:fixed;word-wrap:break-word;\" width=\"612px\" border=\"2\">"];
[htmlstring appendString:@"<caption>"];
[htmlstring appendString:@"<FONT SIZE=30 >"];
if(self.firstname!=nil)
[htmlstring appendString:self.firstname];
if(self.lastname!=nil)
[htmlstring appendString:self.lastname];
[htmlstring appendString:@"</FONT>"];
[htmlstring appendString:@"<FONT SIZE=1><br/>"];
//street,apt
if(self.street==nil){
self.street=@"";
}
if(self.apt==nil){
self.apt=@"";
}
if(![self.street isEqualToString:@""]||
![self.apt isEqualToString:@""]){
temtext=[NSString stringWithFormat:@"%@, %@",self.street,self.apt];
[htmlstring appendString:temtext];
}
//city,state
if(self.city==nil){
self.city=@"";
}
if(self.state==nil){
self.state=@"";
}
if(self.zip==nil){
self.zip=@"";
}
if(![self.city isEqualToString:@""]||
![self.state isEqualToString:@""]||
![self.zip isEqualToString:@""]){
temtext=[NSString stringWithFormat:@"%@, %@, %@",self.city,self.state,self.zip];
[htmlstring appendString:@"<br/>"];
[htmlstring appendString:temtext];
}
//phone
if(self.phone!=nil&&![self.phone isEqualToString:@""]){
temtext=[NSString stringWithFormat:@"Phone:%@", self.phone];
[htmlstring appendString:@"<br/>"];
[htmlstring appendString:temtext];
}
//fax
if(self.fax!=nil&&![self.fax isEqualToString:@""]){
temtext=[NSString stringWithFormat:@"Fax:%@",self.fax];
[htmlstring appendString:@"<br/>"];
[htmlstring appendString:temtext];
}
if(self.Email!=nil&&![self.Email isEqualToString:@""]){
temtext=[NSString stringWithFormat:@"Email:%@",self.Email];
[htmlstring appendString:@"<br/>"];
[htmlstring appendString:temtext];
}
//website
if(self.website!=nil&&![self.website isEqualToString:@""]){
temtext=[NSString stringWithFormat:@"Website:%@",self.website];
[htmlstring appendString:@"<br/>"];
[htmlstring appendString:temtext];
}
[htmlstring appendString:@"</FONT>"];
[htmlstring appendString:@"</caption>"];
if(self.objective!=nil&&![self.objective isEqualToString:@""]){
[htmlstring appendString:@"<br/><tr><th width=\"100px\" ><b>Objective</b></th>"];
temtext=self.objective;
[htmlstring appendString:@"<td><FONT SIZE=1>"];
[htmlstring appendString:temtext];
[htmlstring appendString:@"</FONT></td></tr>"];
}
for (int i=0;i<5;i++){
if([OrderData getskillnumber]==i){ //skill
if(self.skills!=nil&&[self.skills count]!=0){
[htmlstring appendString:@"<br/><tr><th width=\"100px\"><b>Skills</b></th>"];
//skill内容
[htmlstring appendString:@"<td><FONT SIZE=1>"];
for(int i=0;i<[self.skills count];i++){
NSManagedObject *object=[self.skills objectAtIndex:i];
temtext=[NSString stringWithFormat:@"* %@",[object valueForKey:@"skill"]];
[htmlstring appendString:temtext];
[htmlstring appendString:@"<br/>"];
}
[htmlstring appendString:@"</FONT></td></tr>"];
}
}else if([OrderData getothernumber]==i){ //other
if(self.others!=nil&&[self.others count]!=0){
[htmlstring appendString:@"<br/><tr><th width=\"100px\"><b>Others</b></th>"];
//skill内容
[htmlstring appendString:@"<td><FONT SIZE=1>"];
for(int i=0;i<[self.others count];i++){
NSManagedObject *object=[self.others objectAtIndex:i];
temtext=[NSString stringWithFormat:@"* %@",[object valueForKey:@"other"]];
[htmlstring appendString:temtext];
[htmlstring appendString:@"<br/>"];
}
[htmlstring appendString:@"</FONT></td></tr>"];
}
}else if([OrderData getexperiencenumber]==i){ //experience
if(self.experience!=nil&&[self.experience count]!=0){
[htmlstring appendString:@"<br/><tr><th width=\"100px\"><b>Experience</b></th>"];
//experience内容
[htmlstring appendString:@"<td><FONT SIZE=1>"];
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];
[htmlstring appendString:@"<b>"];
[htmlstring appendString:temtext];
[htmlstring appendString:@"</b><br/>"];
if((companyname!=nil&&![companyname isEqualToString:@""])||
(location!=nil&&![location isEqualToString:@""])){
temtext=[NSString stringWithFormat:@"%@...%@",companyname,location];
[htmlstring appendString:@"      "];
[htmlstring appendString:temtext];
[htmlstring appendString:@"<br/>"];
}
NSDateFormatter *timeformatter=[[NSDateFormatter alloc]init];
[timeformatter setDateFormat:@"MMMM, yyyy"];
NSNumber *number=[object valueForKey:@"currentjob"];
if(!number.boolValue){
temtext=[NSString stringWithFormat:@"%@ ~ %@",[timeformatter stringFromDate:startdate],[timeformatter stringFromDate:enddate]];
}else{
temtext=[NSString stringWithFormat:@"%@ ~ Present",[timeformatter stringFromDate:startdate]];
}
[htmlstring appendString:@"      "];
[htmlstring appendString:temtext];
[htmlstring appendString:@"<br/>"];
[timeformatter release];
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:@"* %@",respon];
[htmlstring appendString:@" "];
[htmlstring appendString:temtext];
[htmlstring appendString:@"<br/>"];
}
}
[htmlstring appendString:@"</FONT></td></tr>"];
// 划线
}
}else if([OrderData geteducationnumber]==i){ //Education
if(self.education!=nil&&[self.education count]!=0){
[htmlstring appendString:@"<tr><th width=\"100px\"><b>Education</b></th> <td><FONT SIZE=1>"];
//内容
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"];
[htmlstring appendString:@"<b>"];
temtext=[NSString stringWithFormat:@"%@",schoolname];
[htmlstring appendString:temtext];
[htmlstring appendString:@"</b><br/>"];
NSDateFormatter *timeformatter=[[NSDateFormatter alloc]init];
[timeformatter setDateFormat:@"MMMM, yyyy"];
temtext=[NSString stringWithFormat:@"%@ ~ %@",[timeformatter stringFromDate:startdate],[timeformatter stringFromDate:enddate]];
[timeformatter release];
[htmlstring appendString:@"      "];
[htmlstring appendString:temtext];
[htmlstring appendString:@"<br/>"];
temtext=[NSString stringWithFormat:@"%@",major];
[htmlstring appendString:@"      "];
[htmlstring appendString:temtext];
[htmlstring appendString:@"<br/>"];
if(comment!=nil&&![comment isEqualToString:@""]){
temtext=[NSString stringWithFormat:@"%@",comment];
[htmlstring appendString:@"      "];
[htmlstring appendString:temtext];
[htmlstring appendString:@"<br/>"];
}
}
[htmlstring appendString:@"</FONT></td></tr>"];
// 划线
}
}else if([OrderData getawardnumber]==i){ //award
if(self.awards!=nil&&[self.awards count]!=0){
[htmlstring appendString:@"<tr><th width=\"100\"><b>Awards</b></th>"];
//award内容
[htmlstring appendString:@"<td><FONT SIZE=1>"];
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];
[htmlstring appendString:@"<b>"];
[htmlstring appendString:temtext];
[htmlstring appendString:@"</b></br>"];
NSDateFormatter *timeformatter=[[NSDateFormatter alloc]init];
[timeformatter setDateFormat:@"MMMM, dd, yyyy"];
temtext=[NSString stringWithFormat:@"%@",[timeformatter stringFromDate:awarddate]];
[htmlstring appendString:@"      "];
[htmlstring appendString:temtext];
[htmlstring appendString:@"<br/>"];
[timeformatter release];
if(comment!=nil&&![comment isEqualToString:@""]){
temtext=[NSString stringWithFormat:@"%@",comment];
[htmlstring appendString:@"      "];
[htmlstring appendString:temtext];
[htmlstring appendString:@"<br/>"];
}
}
[htmlstring appendString:@"</FONT></td>"];
// 划线
}
}
}
[htmlstring appendFormat:@"</table></body></html>"];
//塞那么多字符串就是为了这一句,写入文件,然后释放就行了
[htmlstring writeToFile:filepath atomically:YES encoding:NSUTF8StringEncoding error:nil];
// htmlstring=[NSString stringWithContentsOfFile:filepath encoding:NSUTF8StringEncoding error:nil];
[htmlstring release];
}