Я hava файл шаблона html в моем проекте, и у меня есть массив с элементами от 0 до 10.000. Мне нравится создавать столько копий <img src="link" style="width:30.5mm;height:30.5mm;" class="addBorder"></img>
<img src="link" style="width:30.5mm;height:30.5mm;" class="addBorder"></img>
и заполнить link
на элемент в индексе массива.
Например: массив имеет 5 элементов
Файл html должен выглядеть так после цикла for:
<html>
<style>
.addBorder {
border: 29.5px solid #ffffff;
}
</style>
<body>
<table>
<tr>
<img src="file:///Users/David/Desktop/1_1STKK.png" style="width:30.5mm;height:30.5mm;" class="addBorder"></img>
<img src="file:///Users/David/Desktop/2_1STKK.png" style="width:30.5mm;height:30.5mm;" class="addBorder"></img>
<img src="file:///Users/David/Desktop/3_1STKK.png" style="width:30.5mm;height:30.5mm;" class="addBorder"></img>
<img src="file:///Users/David/Desktop/4_1STKK.png" style="width:30.5mm;height:30.5mm;" class="addBorder"></img>
<img src="file:///Users/David/Desktop/5_1STKK.png" style="width:30.5mm;height:30.5mm;" class="addBorder"></img>
<tr>
<table>
</body>
</html>
Ant это оригинальный шаблон html файла:
<html>
<style>
.addBorder {
border: 29.5px solid #ffffff;
}
</style>
<body>
<table>
<tr>
<img src="link" style="width:30.5mm;height:30.5mm;" class="addBorder"></img>
<tr>
<table>
</body>
</html>
Надеюсь, это так возможно.
РЕДАКТИРОВАТЬ
Я исправил это сам, вот что я сделал:
for (int qr = 0; qr <= qrArray.count-1; qr++) {
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%@.png", [self documentPath], qrArray[qr]]];
NSString *costumeLink = [NSString stringWithFormat:@"<img src=\"%@\" style=\"width:30.5mm;height:30.5mm;\" class=\"addBorder\"></img>", url];
[qrPDFArray addObject:costumeLink];
}
NSString*htmlString = [NSString stringWithFormat:@"%@", [qrPDFArray description]];
htmlString = [htmlString stringByReplacingOccurrencesOfString:@",\n " withString:@"\n"];
htmlString = [htmlString stringByReplacingOccurrencesOfString:@"\\\"" withString:@"\""];
htmlString = [htmlString stringByReplacingOccurrencesOfString:@"\"," withString:@""];
htmlString = [htmlString stringByReplacingOccurrencesOfString:@"\"<" withString:@"<"];
htmlString = [htmlString stringByReplacingOccurrencesOfString:@">\"" withString:@">"];
htmlString = [htmlString stringByReplacingOccurrencesOfString:@"(\n " withString:@""];
htmlString = [htmlString stringByReplacingOccurrencesOfString:@")" withString:@""];
NSLog(@"%@", htmlString);
NSString *tempFile = [[NSBundle mainBundle] pathForResource:@"temp" ofType:@"html"];
NSString* tempFileString = [NSString stringWithContentsOfFile:tempFile encoding:NSUTF8StringEncoding error:nil];
tempFileString = [tempFileString stringByReplacingOccurrencesOfString:@"HERE" withString:htmlString];
использовать компоненты NSStringSeparatedByString: метод.
NSString *originalHTML = @"<table><tr><img link >aa</img><tr><table>";
NSArray *linkArray = @[@"aa",@"bb"]; //your links array
NSArray *allStrings = [originalHTML componentsSeparatedByString:@"<tr>"];
NSString *imgString = allStrings[1];
NSString *repeatedString=@"";
NSInteger i;
for(i=0;i<linkArray.count;i++){
NSString *linkString = [imgString stringByReplacingOccurrencesOfString:@"link" withString:linkArray[i]];
repeatedString = [repeatedString stringByAppendingString:linkString];
}
NSString *finalHTML = [NSString stringWithFormat:@"%@<tr>%@<tr>%@",allStrings[0],repeatedString,allStrings[2]];
NSLog(@"%@",finalHTML);
надеюсь это поможет.