2013-03-12 15 views
6

Vorrei che mi aiutassi con questo problema, mi occupo per la prima volta di mPDF che penso sia ottimo, ma voglio visualizzare il rapporto con lo stesso tipo di font di il mio web, che sulla sua documentazione spiega come raggiungerlo, ma non sembra funzionare ancora per me. Quello che ho fatto fino ad ora è:usa il carattere nel documento generato in mPDF

  1. aggiungere l'URL a Open Sans da Google per il mio documento che sarà generato dopo che, <link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>.
  2. poi aggiungo un file foglio di stile che contiene l'uso del carattere <link rel="stylesheet" href="<?php echo base_url(); ?>assets/publicidad/css/reporte.css" type="text/css"> All'interno reporte.css che ho già aggiunto, ho una definizione per utilizzare font di

    corpo 'di Open Sans' { font-family: 'Open Sans', Sans-Serif; } che visualizza il carattere come previsto.

  3. ho generare il pdf con mPDF che funziona bene, ma quando voglio
    visualizzazione dei Sans aperte come la documentazione si trova, non è che mostra il carattere desiderato, ho scaricato il file ttfs di 'Open Sans' dal http://www.fontsquirrel.com/fonts/open-sans, e aggiunto nella cartella ttfonts della directory mPDF come dice nella sua documentazione.


Dopo che seguo questa chiara documentazione http://mpdf1.com/manual/index.php?tid=453, ma fino ad ora non sto ottenendo il carattere desiderato visualizzato nel mio documento PDF quello che non ho fatto fino ad ora la sua parte che dice "4. Per usa il font con linguaggi specifici, devi anche modificare il file di configurazione (config_cp.php), immaginiamo che Frutiger contenga un set completo di caratteri necessari per la lingua Thai: ", ma non penso che questo sia il problema perché Sto usando una configurazione predefinita che ho messo giù.

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'; 
      } 
     } 

e nel mio controller lo faccio.

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

(di cui sopra non viene riconosciuta dal curatore stackverflow)

E infine quello che ho fatto fino ad ora, che dovrebbe fare tutto quello che voglio a seguito della documentazione è:

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

PD : Ho inserito le virgolette singole perché stavo aggiungendo in questo modo nel mio documento html, ma ho anche provato senza di esse, senza successo. Spero che tu possa aiutarmi, grazie in anticipo.

+0

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

risposta

12

Ho risolto il mio problema, non ci dovrebbero essere spazi nella definizione del tipo di carattere, quindi ho sostituito nel mio css dichiarazione font-face con "opensans" e

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

essere consapevoli del fatto che il tipo di carattere tipo ('OpenSans-Regular.ttf') dovrebbe essere all'interno TTFONTS cartella della cartella di mpdf

+0

Yep , aggiungilo a ttfonts/e modifica config_fonts.php e assicurati che i nomi corrispondano e non contengano spazi. –

14

Note:

in primo luogo, dont usare mpdf1.com sito web, è chiuso. Utilizzare https://github.com/mpdf/mpdf.Ci sono diversi codici per Versione 6 e 7)

Esempio (v7):

(source)
1) caricare MyFont.ttf in /mpdf/ttfonts
2) in /mpdf/config_fonts.php, all'interno $this->fontdata array, aggiungi il tuo:

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


3) allora, ovunque si esegue lo script personalizzato, utilizzare my_custom_fonttt in css:

<?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

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. –

+4

Che è esattamente quello che è successo: l'URL /manual/index.php richiesto non è stato trovato su questo server. 31/03/2016 good call @Howdy_McGee e grazie tazo per aver aggiornato la tua risposta nel 2014 – Edward

+0

Non sono riuscito a trovare l'opzione menzionata ma nel caso in cui aiuti qualcuno a trovare nuova documentazione che è qui: https: // mpdf. github.io/. Se riuscissi a trovare le informazioni pertinenti che avrei copiato e incollato, ma non riesco a trovarlo, probabilmente l'altra risposta è migliore per i lettori. – Eoin

1

stavo affrontando stessi problemi: Assicurarsi non si dispone di ambienti, mentre definiscono nome del font, tenerlo minuscolo.

ha funzionato per me

Problemi correlati