2009-06-23 4 views
0
require_once 'Zend/Pdf.php'; 
$pdf = new Zend_Pdf(); 
$page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4); 
$pdf->pages[] = $page; 
$page->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 10); 
$page->drawText("Bogus Russian: это фигня", 100, 400, "UTF-8"); 
$pdfData = $pdf->render(); 
header("Content-Disposition: inline; filename=output.pdf"); 
header("Content-type: application/x-pdf"); 
echo $pdfData; 

Ich kann nicht die russischen Zeichen auftauchen! Ich habe es geschafft, sie zu erhalten, zeigen sich als:Unicode-Zeichen nicht in Zend_Pdf angezeigt?

Russian: ??????????? 
Russian: ÐоммÑнР
Russian: 
and 
Russian: >< 

Antwort

0

Dieser Beitrag erklärt es besser: How to generate pdf files _with_ utf-8 multibyte characters using Zend Framework

Im Wesentlichen die eingebauten Schriftarten (z. Zend_Pdf_Font :: FONT_HELVETICA) enthalten nicht genug Informationen, also müssen Sie eine Schriftart-ttf-Datei an die PDF-Datei anhängen und Ihr Skript so einstellen, dass diese Schriftart verwendet wird.

$font = Zend_Pdf_Font::fontWithPath('/Library/Fonts/Times.ttf'); 
$pdfPage->setFont($font, 36);