首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDF字体大小通过UI/WKWebView和UIPrintPageRenderer关闭- HTML到PDF

PDF字体大小通过UI/WKWebView和UIPrintPageRenderer关闭- HTML到PDF
EN

Stack Overflow用户
提问于 2016-02-18 18:09:56
回答 2查看 770关注 0票数 0

我需要创建漂亮的外观和准确的PDF在我的应用程序。由于各种限制,我用HTML和一个定制的UIPrintPageRenderer解决了问题。到目前为止这还不错。

然而,由于我假设存在缩放/转换问题,PDF中产生的字体大小会有相当大的差距:

代码语言:javascript
复制
#rma {
  font-size: 54pt;
  /*font-size: 67.5px;*/
}
...
<div id="rma">RMA</div>

CSS中的54pt会导致PDF中的57.60pt;通过使用67.5px (希望使用pt * 1.25 = px),我只能得到54.40pt --同时感觉自己像个畜生。

摆弄着px的十分之一(或者是em或其他任何东西),字体大小可能会跳升到53.60pt,但永远不会精确到54 px。这发生在几乎所有的字体大小,除了少数例外,如10 in,从而产生了确切的8pt。

代码语言:javascript
复制
-webkit-text-size-adjust: none;

代码语言:javascript
复制
<meta name="viewport" content="initial-scale=1.0" />

似乎没有任何影响,也没有在UI-,WKWebView或UIMarkupTextPrintFormatter之间切换。我尝试了其他解决方案,如brentnycum/BNHtmlPdfKit,效果相同。

我几乎没什么主意了。你能帮上忙吗?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-23 12:25:02

我与iOS应用程序中的这个bug斗争了很长时间了!

在进行了实验之后,我将其归档为webkit bug:bug.cgi?id=155789

当从Safari和Chrome打印时也会出现PDF字体大小问题,但Firefox没有。我也遇到了与你一样的问题,试图找出为什么iOS要从UIPrintPageRenderer中制作出字体大小怪异的PDF格式。

我可以为您提供的最佳解决方案是将<body>宽度显式地设置为确切的页面宽度。

代码语言:javascript
复制
body {width: 595pt;}

这使得我能够在12.01pt时获得指定为12 at的字体大小--但是它确实会根据一些(表面上的)随机因素而变化。祝你好运!

票数 1
EN

Stack Overflow用户

发布于 2016-02-18 21:03:03

如果您可以使用php,这应该可以做到这一点

$pdf->SetFont('helvetica','',10);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35489206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档