我正在使用wkhtmltopdf打印在反應html頁面內生成的報告。對於所有的文本時,CSS有設置字體爲'Open Sans', sans-serif
我的HTML裏面我的頭,我有以下加載開放Sans字體:使用wkhtmltopdf時顯示爲PDF的錯誤字體
<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
這一切似乎當我在我的開發運行wkhtmltopdf做工精細機器,我得到的輸出看起來像這樣:
然而,我的服務器上(在Azure上運行的Azure的Web應用程序)我得到以下的輸出:
正如您所看到的,所有文本看起來都非常像素化,但由於某種原因,標題粗體除外。如果你看到粗體和普通文字,你也可以看到Open Sans字體沒有被使用(最容易看到的是g)。
所以現在的問題是雙重的:
- 爲什麼不打開Sans字體被在Azure上使用?
- 爲什麼文本像素化?如果我將
'Open Sans', sans-serif
更改爲sans-serif
,它在瀏覽器中仍然可以使用默認的sans-serif字體。
感謝所有幫助!
編輯
一些額外的信息。本地PDF爲23Kb,服務器PDF爲207Kb。在服務器PDF上,只有粗體文本是可選的,而不是其他文本,所以看起來非粗體文本被視爲圖像,而不是實際文本。
此外,對於本地PDF是說在字體OpenSansRegular (Embedded Subset), Type: TrueType (CID), Encoding:Identity-H
這似乎是合理的。但是,在服務器/ Azure PDF下,它顯示在字體ArialBold (Embedded Subset), Type: TrueType (CID), Encoding:Identity-H
下。
因此,出於某種原因錯誤的字體被嵌入,而非粗體文本被視爲圖像。
似乎'字體沒有安裝,或者沙盒限制在Azure WebApp中並將默認值加載到Aria'。我也發現[smilar問題](https://social.msdn.microsoft.com/Forums/zh-CN/092760f0-8691-4207-b10a-fdc27f49c4f5/issue-generating-pdf-with-correct-font-on -azure-web應用程序?論壇= windowsazurewebsitespreview)。我們也可以將我們的[反饋](https://feedback.azure.com/forums/169385-web-apps)提供給Azure團隊。 –
關於此主題有任何更新嗎? –