簡體   English   中英

ABCpdf上的符號字體

[英]Symbol font on ABCpdf

我正在使用ABCpdf.net組件將HTML轉換為PDF。 某些HTML使用Symbol字體顯示某些字符。 不幸的是,我們正在使用來自第三方的HTML,並且無法更改。

我的開發環境正確顯示字體,但我的生產環境不會。 它就好像沒有安裝字體,即使它是。 如果我在生產環境中的Internet Explorer中呈現相同的HTML,它就會顯示正常。

我嘗試將字體嵌入為.eot並在標題中提供@ font-face樣式。 我嘗試過使用TheDoc.AddFont('Symbol')。 有什么建議?

產品:ABCpdf .NET 7 x64

生產操作系統:Windows Server 2003 x64,IE8

開發操作系統:Win7 x64,IE8

WebSuperGoo支持團隊回應了修復:設置與字體相關的HtmlOptions。 我設置了這些選項,它解決了這個問題。 好極了!

If you want to embed the fonts used in a web page/HTML you need to use:
    Doc.HtmlOptions.FontEmbed = True
You may also need to set
    Doc.HtmlOptions.FontSubstitute = False
and possibly:
    Doc.HtmlOptions.FontProtection = False
before you use the Doc.AddImageUrl or Doc.AddImageHtml methods.

編輯:正如我在下面的評論中提到的,執行該技巧的選項是FontProtection = false。

嘗試重新啟動服務器。

我在ABCPdf上遇到類似的字體問題。 盡管字體已經清楚地安裝了,但由於某些原因,ABDPdf在機器重新啟動之前沒有接收它們。

可能有一些非重啟方式實現同​​樣的事情,但這需要了解問題是什么! 如果這很容易,只需嘗試重新啟動即可。

雖然我說Doc.HtmlOptions就是答案,但事實證明它完全是另一回事。 符號沒有顯示,因為字體權重不正常(即,它是粗體 )。 沒有包含這些字符的粗體子集。 IE很聰明,可以忽略大膽的部分,但PDF相當挑剔。 它找不到角色,所以它什么也沒有顯示。

真正的解決方案是梳理HTML並確保所有符號都被包含font-weight: normal !importantspan所包圍。 它可能是一個不太優雅的解決方案,但它是有效的。 仍然隨機拒絕出現的唯一符號是角度符號( ∠ )。 為此,我用圖像替換它。 我仍然無法弄清楚為什么它不會出現。

暫無
暫無

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

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