私は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>
というタグがすべて正しくレンダリングされたため、私は非常に驚いていました。
色付きのテキストを印刷する方法はありますか?
注:
- 私はは私はWebViewののスクリーンショットを取ると、それを印刷することができます知っている「模擬カラーレーザプリンタ」
- を選択しました。しかし、画面に表示されているHTMLの部分だけを印刷するのではないでしょうか?
引用した正確な範囲でHTMLページを設定し、UIWebViewに読み込んで印刷コードを使用して印刷したところ、赤いテキストが表示されます。問題の原因となっているものがあるようです。おそらく印刷していない実際のウェブサイトへのリンクを提供することはできますか? –
@CraigGrummitt申し訳ありませんが、質問を編集できないようです。ここに私が作ろうとしていた編集へのペーストビンのリンクがあります:http://pastebin.com/raw/B87WUivY – Sweeper
AppleはHTMLをPDFに変換するいくつかのコードを持っています。私はそれを試していないが、おそらくそれはあなたの問題を解決するhttps://github.com/ResearchKit/ResearchKit/blob/4f3d0f33df3ca96764ccac72a2dda729a567ac33/ResearchKit/Common/ORKHTMLPDFWriter.m –