2014-11-24 91 views
0

我想在我的html頁面中使用俄文字母,後來我使用DOMPDF將其轉換爲PDF。所有的俄文字母都顯示爲問號。DOMPDF不支持西里爾文字符。輕鬆修復?

最簡單的解決方法是什麼?

我見過一種叫做mbstring模塊的東西。我認爲這對我不起作用,因爲安裝需要命令行或其他東西。我想這是我沒有訪問我的虛擬服務器(不是本地主機)的東西。

我看到這個 DOMPDF problem with Cyrillic characters 有一定的價值(第二個答案從頂部)。但它只適用於Times和Times New Roman。但我怎麼能爲其他字體做同樣的事情呢? (除非更容易修復)

只記得,沒有命令行安裝。我沒有東西,我的虛擬主機允許這種頑皮。

回答

0

好吧,我解決了我的問題,這就是我做到的。 最方便的方法是在互聯網上或使用Google字體查找所需字體的.ttf文件。 如果您使用Google字體,請確保所需的字體具有普通,粗體,斜體和粗體斜體版。

如果您使用的Google字體,然後將其添加到您的HTML使用方法(谷歌字體爲您提供此作爲字體安裝的選項之一)。刷新頁面後,DOMPDF將捕獲並安裝字體*本身。之後,我將自己手中的所有東西都放在一邊,因爲現在已經安裝了字體。

OR

,如果你發現在互聯網上的字體,並祝(.TTF),同時也要確保您有大膽的,正常的,斜體和粗斜體版本。使用:您的網站/ dompdf-0.6.1/www/fonts.php(或者它可能位於的任何位置)手動添加字體。

*注:DOMPDF在以數字形式聲明font-weight時出現問題,如:font-weight:700。谷歌字體完全......因此,你很可能必須從鏈接src中獲取@ font-face {},將粘貼複製到記事本中,用普通的粗體和全部400來替換全部700。然後在你的HTML中使用它,而不是原來的鏈接方法。**

**更多腳註:我使用Safari訪問鏈接src,因爲Google字體會單獨調整每個瀏覽器的代碼。 Safary似乎與DOMPDF相同。如果您使用前谷歌瀏覽器來執行@ font-face代碼,那麼您的代碼將無法在DOMPDF上工作,因爲沒有.ttf文件,只有.woff2和谷歌瀏覽器。

HEAD ACHE!不是很明智,但嘿,工作!

+0

實際上,對於西里爾語來說,最簡單的方法是使用內置的DejaVu字體(例如DejaVu Serif)。 – BrianS 2014-11-28 18:43:56

+0

另外,對於在線字體,您可以使用@ font-face樣式。這通常也適用於谷歌字體,除了在大多數情況下,您所描述的字體重量問題會破壞我們所知道的東西。 – BrianS 2014-11-28 18:46:17