2013-03-12 14 views
6

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

  1. मेरी दस्तावेज है जो जा यह बाद उत्पन्न होगा, <link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'> लिए गूगल से बिना खोलने के लिए URL जोड़ें।
  2. तो मुझे लगता है कि फ़ॉन्ट का उपयोग <link rel="stylesheet" href="<?php echo base_url(); ?>assets/publicidad/css/reporte.css" type="text/css"> reporte.css अंदर है कि मैं पहले से ही जोड़ दिया है शामिल एक शैली पत्रक फ़ाइल जोड़ने के लिए, मैं एक परिभाषा का उपयोग करने के 'ओपन संस' फॉन्ट

    शरीर { है फ़ॉन्ट-फ़ैमिली: 'ओपन सेन्स', सैन्स-सेरिफ; } जो अपेक्षित फ़ॉन्ट को प्रदर्शित करता है।

  3. मैं mPDF जो अच्छी तरह से काम करता है लेकिन जब मैं
    को प्रदर्शन ओपन संस के रूप में प्रलेखन खड़ा है, यह वांछित फ़ॉन्ट प्रदर्शित न होने के लिए चाहते हैं, मैं http://www.fontsquirrel.com/fonts/open-sans से 'ओपन संस' के TTFs फ़ाइल डाउनलोड के साथ पीडीएफ पैदा करता है और एमपीडीएफ निर्देशिका के ttfonts फ़ोल्डर के अंदर जोड़ा गया है क्योंकि यह इसके दस्तावेज के भीतर कहता है।


यह बाद मैं यह स्पष्ट प्रलेखन http://mpdf1.com/manual/index.php?tid=453 का पालन करें, लेकिन अब तक मैं जो कहता है "4. करने के लिए मेरी पीडीएफ दस्तावेज़ अब मैं अपनी ओर से जब तक ऐसा नहीं किया क्या में दिखाया वांछित फॉन्ट नहीं मिल रहा है विशिष्ट भाषाओं के साथ फ़ॉन्ट का उपयोग करें, आपको कॉन्फ़िगरेशन फ़ाइल (config_cp.php) को संपादित करने की भी आवश्यकता है; आइए कल्पना करें कि फ्रूटिगर में थाई भाषा के लिए आवश्यक वर्णों का एक पूरा सेट है: ", लेकिन मुझे नहीं लगता कि यह समस्या है क्योंकि मैं एक डिफ़ॉल्ट विन्यास का उपयोग कर रहा हूं जिसे मैंने नीचे रखा है।

function pdf_create($html, $filename, $stream = TRUE) { 
      require_once(APPPATH . 'helpers/mpdf/mpdf.php'); 
      $mpdf = new mPDF(); 
      $mpdf->SetAutoFont(); 
      $mpdf->WriteHTML($html); 
      if ($stream) 
      { 
       $mpdf->Output($filename . '.pdf', 'D'); 
      } 
      else 
      { 
       $mpdf->Output('./uploads/temp/' . $filename . '.pdf', 'F'); 

       return './uploads/temp/' . $filename . '.pdf'; 
      } 
     } 

और मेरे नियंत्रक में मैं ऐसा करता हूं।

$html = $this->load->view('publicidad/reporte_x_curso', $data, true); 
$this->load->helper('mpdf'); 
pdf_create($html, 'Reporte_por_cursos', true); 

(ऊपर stackverflow संपादक द्वारा मान्यता प्राप्त नहीं किया जा रहा)

और अंत में मैंने किया था, जिसे अब तक कि सभी मैं प्रलेखन निम्नलिखित चाहते हैं चाहिए:

$this->fontdata = array(
    "'Open Sans'" => array(
    'R' => 'OpenSans-Regular.ttf' 
    ) 

पीडी : मैंने सिंगल कोट्स डाले क्योंकि मैं अपने एचटीएमएल दस्तावेज़ में उस तरह से जोड़ रहा था, लेकिन मैंने सफलता के बिना बिना उनके प्रयास किए। मुझे उम्मीद है कि आप मेरी मदद कर सकते हैं, अग्रिम धन्यवाद।

+0

https://stackoverflow.com/questions/47150331/how-to-upload-image-on-server-using-ajax-in-cordova-build/47151317#47151317 –

उत्तर

12

मैं मेरी समस्या हल कर दिया है, फॉन्ट की परिभाषा में कोई रिक्त स्थान नहीं होना चाहिए, तो मैं "OpenSans" और

$this->fontdata = array(
    "opensans" => array(
    'R' => 'OpenSans-Regular.ttf' 
    ) 

फॉन्ट कि बारे में पता होना के साथ अपने सीएसएस फॉन्ट-फेस घोषणा में बदल दिया प्रकार ('OpenSans-Regular.ttf') के अंदर होना चाहिए mpdf फ़ोल्डर

+0

हां , इसे ttfonts में जोड़ें/और config_fonts.php संपादित करें और सुनिश्चित करें कि नाम मेल खाते हैं और इसमें कोई रिक्त स्थान नहीं है। –

14

नोट्स फ़ोल्डर ttfonts:

सबसे पहले, का उपयोग न mpdf1.com वेबसाइट, यह बंद है। https://github.com/mpdf/mpdf का उपयोग करें।

(source)
1) /mpdf/config_fonts.php में /mpdf/ttfonts
2) में MyFont.ttf अपलोड करें, अंदर: संस्करण 6 और 7) के लिए अलग अलग कोड

उदाहरण (v7) कर रहे हैं $this->fontdata सरणी, अपना जोड़ें:

"my_custom_fonttt" => array( 
        'R' => 'MyFont.ttf',   //Regular- REQUIRED 
        'I' => "MyFont-Oblique.ttf", //Italic - OPTIONAL 
        'B' => "MyFont-Bold.ttf",  //Bold - OPTIONAL 
        ), 


3) तो, भी आप अपने कस्टम स्क्रिप्ट को निष्पादित, my_custom_fonttt सीएसएस में उपयोग करें:

<?php 
$mpdf=new mPDF(); 
$texttt= ' 
    <html><head><style> 
    body {font-family: "my_custom_fonttt";} 
    </style></head> 
    <body>My SAMPLE TEXTTTTT </body> 
    </html>'; 
$mpdf->WriteHTML("$texttt"); 
$mpdf->Output(dirname(__FILE__).'/new_created_file.pdf','F'); 
?> 

+5

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। –

+4

जो वास्तव में हुआ है: अनुरोध किया गया URL /manual/index.php इस सर्वर पर नहीं मिला था। 31/03/2016 अच्छी कॉल @Howdy_McGee और 2014 – Edward

+0

में अपना उत्तर वापस अपडेट करने के लिए धन्यवाद tazo मुझे विकल्प का पता नहीं मिला, लेकिन अगर यह किसी की मदद करता है तो मुझे यहां नया दस्तावेज़ मिला जो यहां है: https: // mpdf। github.io/। अगर मुझे प्रासंगिक जानकारी मिलती है तो मैं कॉपी और पेस्ट करता हूं लेकिन मुझे यह नहीं मिल रहा है, शायद अन्य जवाब पाठकों के लिए बेहतर है। – Eoin

1

मैं एक ही समस्याओं का सामना कर रहा था: सुनिश्चित करें कि आप रिक्त स्थान जबकि फ़ॉन्ट नाम को परिभाषित न करना पड़े, इसे रखने के लोअरकेस।

यह मेरे लिए काम किया

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