我有一个UIWebView
。我想用AirPrint打印它的内容。我想出了这个代码:无法使用文本颜色打印UIWebView。为什么?
@IBAction func print(_ sender: Any) {
let printController = UIPrintInteractionController.shared
let printInfo = UIPrintInfo(dictionary:nil)
printInfo.outputType = UIPrintInfoOutputType.general
printInfo.jobName = "some name"
printController.printInfo = printInfo
let formatter = webView.viewPrintFormatter()
formatter.perPageContentInsets = UIEdgeInsets(top: 72, left: 72, bottom: 72, right: 72)
printController.printFormatter = formatter
printController.present(animated: true, completionHandler: nil)
}
当我运行应用程序,打印交互控制器和一切正常。
不过,我有这样的事情在HTML,因为我想强调的一些文字:
<span style="color: #ff0000">some text</span>
“一些文本”出现在Web视图红色,但是当我看到预览它是黑色的在打印交互控制器中!换句话说,所有的颜色都消失了!
我试图将HTML改为:
<span style="background: #ff0000">some text</span>
但打印预览出现相同。我很惊讶,因为<hr>
和<h3>
标签在预览中全部呈现。
有没有办法打印彩色文本?
注:
- 我没有选择“模拟彩色激光打印机”
- 我知道我可以把网页视图的屏幕截图和打印。但是,是不是只打印屏幕上显示的HTML部分?
我刚刚设置了一个HTML页面,其中包含引用的确切范围,将其加载到UIWebView中并使用打印代码打印出来,并且看到红色文本。似乎还有其他问题导致了这个问题。你能否提供一个链接到不打印的实际网站? –
@CraigGrummitt对不起,但我似乎无法编辑该问题。这里是我试图编辑的pastebin链接:http://pastebin.com/raw/B87WUivY – Sweeper
Apple有一些代码可以将HTML转换为PDF。我没有尝试过,但也许它会解决你的问题https://github.com/ResearchKit/ResearchKit/blob/4f3d0f33df3ca96764ccac72a2dda729a567ac33/ResearchKit/Common/ORKHTMLPDFWriter.m –