簡體   English   中英

如何消除黑條遮擋PDF打印輸出中的文本?

[英]How do I get rid of black bars obscuring text in a PDF printout?

在iOS 11以及可能的早期版本上,我們看到了一些實例,其中生成的PDF文件[使用UIGraphicsBeginPDFContextToData()/ UIGraphicsEndPDFContext()]在屏幕上和某些打印機上看起來不錯,但在其他打印機(例如HP ColorLaser M551和HP LaserJet Enterprise M806)文本行顯示為黑條。 我們如何擺脫所有介質和打印機的黑條?

注意:對於黑色文本,條形僅為黑色。 條形顏色看起來與預期的文本顏色匹配。

經過大量調查,我發現問題僅出現在UILabel文本上,該問題是將UILabel作為子視圖添加到UIView,隨后將其層渲染到PDF上下文中。 解決方法是在渲染UIView之后,使用CTLineDraw()及其來自CoreText的支持例程將文本直接渲染到PDF上下文中。

更新:Apple建議先將頁面繪制到位圖中,然后再將位圖繪制到PDF中。

也可以使用UITextField代替UILabel。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM