2012-01-14 15 views
6

में विशिष्ट फ़ॉन्ट्स क्या कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं? मुझे टीसीपीडीएफ द्वारा जेनरेट किए गए मेरे पीडीएफ में एरियल फ़ॉन्ट चाहिए। सबसे पहले मैंने इसका उपयोग करने की कोशिश की है: 1) मुझे विंडोज फोंट्स कैटलॉग से एरियल मिला और इसे टीसीपीडीएफ निर्देशिका में रखा गया। 2) अगला मैं स्क्रिप्ट में लिखा है:टीसीपीडीएफ पीडीएफ

$fontname = $pdf->addTTFfont('../lib/tcpdf/arial.ttf', '', '', 32); 

कि tcpdf में बाद/फोंट 3 फ़ाइलें (arial.ctg.z, arial.php और arial.z) प्रकट होता है। मैंने सोचा था कि सब कुछ ठीक हो गया था कि लेकिन अगर TCPDF में मैं द्वारा इस फ़ॉन्ट का उपयोग करें:

$pdf->SetFont('arial', '', 16); 

दस्तावेज़ में फ़ॉन्ट वास्तव में एरियल है, लेकिन बिना पॉलिश विशिष्ट गाती (ąęłżńź)

मैं भी अपने आप को द्वारा फ़ॉन्ट तैयार की कोशिश की है : मैं तो ttf2afm और makefontuni.php स्क्रिप्ट डाउनलोड किया कमांड लाइन में मैं यह लिखा:

ttf2ufm -a arial.ttf 
php -q makefontuni.php arial.ttf arial.ufm 

आदेश मुझे भी 3 फ़ाइलें (arial.ctg.z, arial.php और arial.z) लेकिन अंतिम स्थिति दिया पहले की तरह ही है।

मैं मानता है कि UTF-8 में है सभी डेटा पीडीएफ के लिए लिख और TCPDF निर्माण इस तरह है:

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'utf-8', false); 

मैं नहीं जानता कि क्या मैं गलत कर रहा हूं। :(

उत्तर

3

, किसी भी फ़ॉन्ट जोड़ने के लिए जो सभी UTF-8 वर्णों में निर्मित है और TCPDF यह पहले से ही है Dejavu संस फ़ॉन्ट का उपयोग की आवश्यकता नहीं है ..

$pdf->SetFont('dejavusans', '', 14, '', true); 

http://www.tcpdf.org/examples/example_001.phps

+2

हाँ आप सही हैं लेकिन मुझे एरियल फ़ॉन्ट की आवश्यकता नहीं है और यहां समस्या है – Karol85

+0

@Miro Markaravanes: यह विशेष पात्रों के लिए काम करता है लेकिन बोल्ड प्रभाव नहीं दिखाता है। –

0

हम्म , क्या आप सुनिश्चित हैं कि आपके एरियल में सभी यूटीएफ -8 वर्ण हैं? मैंने यहां दिए गए निर्देशों का पालन किया http://www.tcpdf.org/fonts.php और यह काम किया। मुझे क्या समस्याएं थीं कि मैं केवल नियमित फ़ॉन्ट जोड़ने में सक्षम था - जैसे ही मैंने बोल्ड या इटालिक जोड़ा और फिर बदल दिया एक दूसरे से, सभी पात्र डॉट्स में बदल गए।

तो फिलहाल मैं केवल अपने नियमित फ़ॉन्ट का उपयोग कर रहा हूं और बोल्ड के लिए मैं 'डीजावुसन्स' (मिरो के लिए धन्यवाद) का उपयोग करता हूं। मेरे कोड:

$fontname = $pdf->addTTFfont('/lib/tcpdf/fonts/myfont-Regular.ttf','TrueTypeUnicode',''); 
$pdf->SetFont($fontname, '', 8, '', true); 
13

आप उपयोग करना एक कस्टम फ़ॉन्ट इस उपकरण

http://www.xml-convert.com/en/convert-tff-font-to-afm-pfa-fpdf-tcpdf

का उपयोग करके ऐसी उत्पन्न फ़ाइलों मिलता है बस/फोंट निर्देशिका के लिए और एक ही नाम के साथ उन्हें स्थानांतरित करना चाहते हैं उनके पास फ़ॉन्ट-नाम विशेषता सेट है।

+0

इसके लिए धन्यवाद! – Mati

+0

मैं बस जोड़ना चाहता हूं कि 2 फाइलें लाइब्रेरी में जोड़ा जाना चाहिए .php और .z – mujaffars

+0

वाह। यह 'TCPDF_FONTS :: addTTFfont' से बेहतर काम करता है। मैंने addTTFfont का उपयोग करने की कोशिश की, लेकिन फ़ॉन्ट काम नहीं किया। जब मैंने अपने फ़ॉन्ट की .z और .php फ़ाइलों को प्रतिस्थापित किया, तो यह काम करता है। –

0

मैं इसे तय करने के लिए अगले, डी लाइन के बाद डाल वही त्रुटि मैं कर रहा था था:

$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $fontname = $pdf->addTTFfont('tcpdf/fonts/arial.ttf', '', '', 32); $pdf->SetFont('arial', '', 16);

0

मुझे लगता है कि आप चरित्र समस्या को हल करने में मदद मिलेगी।

$pdf->SetFont('freeserif', '', 12); 

उपरोक्त फ़ॉन्ट-परिवार जो यूटीएफ -8 अक्षरों का समर्थन करता है।

1
$fontname = TCPDF_FONTS::addTTFfont(FCPATH.'/assets/css/fonts/arial-unicode-ms.ttf'); 

यह है कि मैं क्या TCPDF के लिए कस्टम फ़ॉन्ट शामिल करने के लिए इस्तेमाल करते हैं। आपको फ़ॉन्ट की केवल .ttf फ़ाइल की आवश्यकता है। इसे सर्वर पर अपनी पसंद के फ़ोल्डर में जोड़ें और एक बार इस कोड को चलाएं। (मैं इसे निर्यात पर पहली बार चलाता हूं) फिर आप इस पंक्ति पर टिप्पणी कर सकते हैं और फ़ॉन्ट वहां होगा।

निर्यातक में जोड़ने के लिए आप के साथ फॉन्ट के रूप में यह जोड़ना चाहिए आदेश में:

$pdf->addFont('your-font-name', '', 10, '', false); 

और अगर आप चाहते हैं कि उसे डिफ़ॉल्ट होने के लिए:

$pdf->setFont('your-font-name', '', 10, '', false); 

तुम क्या पता नहीं है

echo $fontname; 

यह आपको में उपयोग के लिए अक्षरों के विशिष्ट नाम देना होगा: फ़ॉन्ट का वास्तविक नाम पीडीएफ में उपयोग करने के लिए है निर्यात की गई फाइल

एक बार जब आप टीसीपीडीएफ अपने फ़ॉन्ट फ़ोल्डर में आवश्यक सभी फाइलें बनाता है तो यह आदेश चलाने के बाद और यह अब से उपयोग करने के लिए तैयार है।

यदि आप एक ही फ़ॉन्ट (संशोधित) को फिर से जोड़ना चाहते हैं तो आपको अपनी फ़ॉन्ट फ़ाइलों को tcpdf/fonts/your-font-name में हटाने की आवश्यकता है। और फिर से जोड़ने के लिए इस आदेश को फिर से चलाएं।

संबंधित मुद्दे