将HTML内容转换为图像

时间:2017-09-21 11:01:02

标签: html ios swift uiimageview

HTML内容示例:This is HTML Content.<div>This is <b>BOLD</b> text </div><div>This is <i> ITALIC </i> text</div> 这是我要呈现的HTML内容,并将其放在UIImageView中,然后保存此图像。 我试图首先渲染HTML内容并生成PDF,然后将该PDF转换为Image,但该图像的结果非常糟糕。这就是为什么我找到一些渲染我的HTML内容并添加到UIImageVIew中的东西,而不是我会轻松地将该图像保存在我的应用程序内存中。

2 个答案:

答案 0 :(得分:2)

使用label / UITextView

尝试此解决方案

将html文本设置为标签。

do {
let attrStr = try NSAttributedString(
    data: "<b><i>text</i></b>".data(using: String.Encoding.unicode, allowLossyConversion: true)!,
    options: [ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType],
    documentAttributes: nil)
yourLabel.attributedText = attrStr
} catch let error {
  print(error)
}

拍摄快照尝试下面的代码

UIGraphicsBeginImageContextWithOptions(yourLabel.bounds.size, 
false, 0);
yourLabel.drawViewHierarchyInRect(yourLabel.bounds, afterScreenUpdates: true)
let copied = UIGraphicsGetImageFromCurrentImageContext(); // You have to save this content in your internal memory
yourImageView.image = copied // To Preview that Image in your ImageView
UIGraphicsEndImageContext();

答案 1 :(得分:1)

我不确定这一点,但你可以这样做,比如在UIWebView中渲染HTML。然后通过代码截取屏幕截图。