Я занимался этим весь день, и, как бы я ни включал изображения в свои задания на печать, всегда кажется, что они не отображаются.Я пробовал несколько методов.1) Base64 встраивание данных изображения, 2) URL пути к файлу, например."file: /// localhost / ...", 3) Строковые пути к файлам "/ Applications / ....".Я хранил изображения в своей папке Documents для песочницы, и ничего не отрисовалось.Все остальное в PDF хорошо.Я также попытался сделать это, но безрезультатно, что даже изображения из комплекта будут рендериться.Что дает?Я даже выложил html в файл и загрузил в safari на моем компьютере (так как при тестировании в симуляторе абсолютные пути одинаковы), и он работает.
Источник
+ (NSData*)renderMarkup:(NSString*)markup
{
UIMarkupTextPrintFormatter *formatter = [[UIMarkupTextPrintFormatter alloc] initWithMarkupText:markup];
SBAnnotationPrintPageRenderer *renderer = [[SBAnnotationPrintPageRenderer alloc] init];
[renderer addPrintFormatter:formatter startingAtPageAtIndex:0];
renderer.footerHeight = 10;
renderer.headerHeight = 10;
NSMutableData * pdfData = [NSMutableData data];
UIGraphicsBeginPDFContextToData(pdfData, CGRectZero, nil);
for (NSInteger i = 0; i < [renderer numberOfPages]; i++)
{
UIGraphicsBeginPDFPage();
CGRect bounds = UIGraphicsGetPDFContextBounds();
[renderer drawPageAtIndex:i inRect:bounds];
}
UIGraphicsEndPDFContext();
return pdfData;
}
Исгенерированный HTML
<table>
<tr>
<td>
<img style='background-color:blue;' src='/Users/zachthayer/Library/Application Support/iPhone Simulator/6.1/Applications/A47C1BDF-DCD1-49A5-A452-59802AEC2A94/Documents/29161AFF-BE35-4EEE-A7A1-ACF2DA9ABA71.png'/>
</td>
<td>
<h2>Superadmin</h2>
<i>00:00:00:00</i>
<p>Test note</p>
</td>
</tr>
</table>
и отрендеренный PDF
Тот же HTML, отображаемый в сафари на компьютере разработчика