Comment append des images dans UIMarkupTextPrintFormatter?

J'essaie d'imprimer un file en HTML, mais j'ai du mal à append des images au file d'printing.

Comment puis-je referencer des images dans mon projet dans le code HTML que je souhaite imprimer? Est-ce que UIMarkupTextPrintFormatter prend en charge les balises?

C'est en fait beaucoup plus simple que je pensais:

NSSsortingng *yourImagePath = [[[NSBundle mainBundle] URLForResource:@"resource" withExtension:@"extension"] absoluteSsortingng]; 

Ensuite, vous pouvez mettre le path de l'image dans un <img> et il va rendre l'image! Voila!

J'y suis allé toute la journée, et peu importe comment j'incorpore des images dans mes travaux d'printing, il semble toujours ne pas les rendre. J'ai essayé plusieurs methods. 1) Base64 intégrant des données d'image, 2) URL de path de file, par exemple. "file: /// localhost / …", 3) Chemin d'access au file "/ Applications / ….". J'ai stocké les images dans mon dossier Documents Sandbox et rien n'a rendu. Tout le rest dans le pdf est bien. J'ai également essayé le ci-dessus et en vain, même pas les images de l'set seront rendues. Ce qui donne? J'ai même mis le html dans un file et chargé en safari sur mon ordinateur (depuis tester en simulateur les paths absolus sont les mêmes) et ça marche.

La source

 + (NSData*)renderMarkup:(NSSsortingng*)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; } 

Et le Html généré

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

Et le PDF rendu

PDF rendu

Même html rendu en safari sur l'ordinateur de développement

Safari rendu

Localement Les images doivent d'abord être placées dans un imageView, puis converties en valeur base64 et utilisées dans le tag image en html.

 let imageData:NSData = UIImagePNGRepresentation(imageView.image!)! let strBase64:Ssortingng = imageData.base64EncodedSsortingngWithOptions(.Encoding64CharacterLineLength) var imageTag = Ssortingng(format: "<img src=\"data:image/png;base64,%@\"", strBase64)