2012-06-06 2 views
0

У меня есть этот простой скрипт, который пишет какой-то текст в PDF, вызванный php-библиотекой TCPDF. Это сценарий:Записать пространство с TCPDF в PDF-файл

// create new PDF document 
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 

// set document information 
$pdf->SetCreator(PDF_CREATOR); 
$pdf->SetAuthor('Label Creator'); 
$pdf->SetTitle('labels'); 
$pdf->SetSubject('Labels di prova'); 
$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); 

// set default monospaced font 
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); 
$pdf->setPrintHeader(false); 
$pdf->setPrintFooter(false); 

//set auto page breaks 
$pdf->SetAutoPageBreak(TRUE,0); 

//set image scale factor 
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); 

//set some language-dependent strings 
$pdf->setLanguageArray($l); 

// set font 
$pdf->SetFont('times', '', 15); 
//left margin 
$pdf->SetMargins(18,15,18,FALSE); 
// add a page 
$pdf->AddPage(); 
$label="Hello world, i'm michele"; 

$pdf->Cell(0, 0 , $label, 0, 1, 'C', 0, '', 0,FALSE,'T','M'); 

//Close and output PDF document 
$pdf->Output('../../labels.pdf', 'F'); 
echo 'Labels generate!'; 

проблема заключается в том, что скрипт работает, но в файле я буду видеть текст без пробелов! Вот так: helloworld, i'mmichele У кого-нибудь есть решение? !!?

ответ

0

Я решил, что проблема связана с визуализатором плагинов PDF в браузере!

0

Вариант 1: Если вы хотите использовать сотовый

Прототип:

//Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=0, $link='', $stretch=0, $ignore_min_height=false, $calign='T', $valign='M') 

Чтобы справиться с шагом, используйте эти:

$pdf->Cell(0, 0, 'TEST CELL STRETCH: spacing', 1, 1, 'C', 0, '', 3); 
$pdf->Cell(0, 0, 'TEST CELL STRETCH: force spacing', 1, 1, 'C', 0, '', 4); 

Вы можете попробуйте следующее:

$label="Hello world, i'm michele"; 
$pdf->Cell(0, 0 , $label, 1, 1, 'C', 0, '', 3; 

Граница включена, чтобы вы могли видеть, достаточно ли камеры. Надеюсь, это сработает. (для указания, что следует: ЛОЖЬ, 'T', 'M' уже значения по умолчанию)

Вариант 2: Вы можете также использовать Write()

$pdf->AddPage(); 

// set some text to print 
$label = <<<EOD 
About Michele. 

Michele is awesome. 
EOD; 

// print a block of text using Write() 
$pdf->Write($h=0, $label, $link='', $fill=0, $align='C', $ln=true, $stretch=0, $firstline=false, $firstblock=false, $maxh=0); 

Вы можете найти много примеров: TCPDF examples

+0

Что такое <<< EOD и EOD; ?? – trullallero

+0

Извините, но $ label = "Hello world, i'm michele"; $ pdf-> Cell (0, 0, $ label, 1, 1, 'C', 0, '', 3; не записывает пробелы ... – trullallero

+0

Я решил, что проблема связана с ошибкой просмотрщик PDF-файлов в браузере! – trullallero

0

Я считаю, что проблема кроется в шрифте «раз». У меня были те же проблемы с этим конкретным шрифтом. Вы можете попробовать некоторые другие шрифты в каталоге шрифтов tcpdf.

+0

Я решил, что проблема связана с визуализатором плагинов PDF в браузере! – trullallero