2013-03-12 18 views
6

Ich möchte Dich mir mit diesem Problem helfen, ich bin zum ersten Mal mit mPDF zu tun, die ich denke, es ist großartig, aber ich mag den Bericht mit der gleichen Art von Schrift angezeigt werden als mein Web, das auf seinen Dokumentationen erklärt, wie man das erreicht, aber es scheint nicht immer für mich zu arbeiten. Was ich bisher getan haben, ist:Schiftpakete in mPDF generierte Dokument

  1. die URL hinzufügen Sans von Google zu meinem Dokument zu öffnen, das , nachdem es erzeugt wird, <link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>.
  2. dann füge ich ein Stylesheet-Datei, die die Verwendung der Schriftart enthält <link rel="stylesheet" href="<?php echo base_url(); ?>assets/publicidad/css/reporte.css" type="text/css"> Innen reporte.css, die ich bereits hinzugefügt haben, habe ich eine Definition Schriftart

    Körper ‚Open Sans‘ verwenden { Schriftfamilie: 'Open Sans', Sans-Serif; } zeigt die Schriftart wie erwartet an.

  3. I Generieren Sie das pdf mit mPDF die gut funktioniert, aber wenn ich die Open Sans zu
    Anzeige wollen als in der Dokumentation steht, ist es nicht die gewünschte Schriftart zeigt, ich die TTFs Datei von ‚Open Sans‘ von http://www.fontsquirrel.com/fonts/open-sans heruntergeladen haben, und innerhalb des ttfonts-Ordners des mPDF-Verzeichnisses hinzugefügt, wie es in seiner Dokumentation steht.


Nachdem es folgen ich diese klare Dokumentation http://mpdf1.com/manual/index.php?tid=453, aber bis jetzt bin ich nicht die gewünschte Schriftart in meinem PDF-Dokument angezeigt zu bekommen, was ich bis jetzt nicht der Teil seiner tat, der sagt „4. verwenden Sie die Schrift mit spezifischen Sprachen, müssen Sie auch die Konfigurationsdatei (config_cp.php) bearbeiten, lassen Sie uns vorstellen, dass Frutiger eine ganze Reihe von Zeichen enthält, für die Thai-Sprache erforderlich:“, aber ich glaube nicht, das ist das Problem, weil Ich verwende eine Standardkonfiguration, die ich niedergelegt habe.

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

und in meiner Steuerung tue ich dies.

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

Und schließlich (die oben durch den stackverflow Editor nicht erkannt wird), was ich jetzt habe, bis daß alles tun, sollte ich die Dokumentation folgende wollen, ist:

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

PD : Ich habe die einfachen Anführungszeichen gesetzt, weil ich diesen Weg in mein HTML-Dokument eingefügt habe, aber ich habe auch ohne sie versucht, ohne Erfolg. Ich hoffe, Sie können mir helfen, danke im Voraus.

+0

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

Antwort

12

ich mein Problem gelöst habe, sollte es in der Definition der Schrift keine Leerzeichen sein, so ersetzt die ich in meiner CSS font-face-Deklaration mit "opensans" und

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

, dass die Schrift darüber im Klaren sein Typ ('OpenSans-Regular.ttf') sollte

+0

Yep füge es zu ttfonts/hinzu und bearbeite config_fonts.php und stelle sicher, dass die Namen übereinstimmen und keine Leerzeichen enthalten. –

14

Hinweise innerhalb TTFONTS Ordner mpdf Ordner:

Zuerst benutzen sie nicht mpdf1.com Webseite, es ist geschlossen. Verwenden Sie https://github.com/mpdf/mpdf.Es gibt verschiedene Codes für Version 6 und 7)

Beispiel (v7):

(source)
1) in /mpdf/config_fonts.phpMyFont.ttf in /mpdf/ttfonts
2) laden, nach innen $this->fontdata Array, fügen Sie Ihre:

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


3) dann, wo Sie Ihr eigenes Skript auszuführen, verwenden 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

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. –

+4

Was genau passiert ist: Die angeforderte URL /manual/index.php wurde auf diesem Server nicht gefunden. 31/03/2016 guten Ruf @Howdy_McGee und danke tazo für die Aktualisierung Ihrer Antwort im Jahr 2014 – Edward

+0

Ich konnte die Option nicht erwähnt, aber nur für den Fall, dass es jemand hilft, fand ich neue Dokumentation, die hier ist: https: // mpdf. github.io/. Wenn ich die relevanten Informationen finden könnte, würde ich kopieren und einfügen, aber ich kann es nicht finden, wahrscheinlich ist die andere Antwort für die Leser besser. – Eoin

1

I gleichen Fragen konfrontiert war: Stellen Sie sicher, dass Sie keine Leerzeichen, während Schriftname definieren, halten Sie es Kleinbuchstaben.

es für mich gearbeitet