Xpoint
   [напомнить пароль]

Как убрать пробелы в словах при пользовании fpdf?

Метки: [без меток]
2008-09-19 16:09:48 [обр] Merli SOI[досье]

Здравствуйте.
Вот хочу средставми PHP создать pdf-документ.
Самые хорошие отзывы получил о FPDF. Скачал самую новую версию - 1.6
Далее делаю AFM-файл с помощью:
   ttf2pt1 -A times.ttf times
Потом с помощью MakeFont(), входящем в fpdf настраиваю шрифт на кодировку cp1251:
   MakeFont('times.ttf','times.afm','cp1251');
При этом получаю кучу сообщений типа "Warning: character afii10051 is missing", и результирующие файлы.
Потом делаю php-файл типа:
<?php
require('fpdf/fpdf.php');
$pdf=new FPDF();
$pdf->AddFont('TimesNewRomanPSMT','','times.php');
$pdf->AddPage();
$pdf->SetFont('TimesNewRomanPSMT','',14);
$pdf->Cell(0,4,'Привет, МИР!',0,0,'C');
$pdf->Output();
?>

Запускаю - получаю открывшийся в акробате документ, в котором между русскими буквами пробелы, а некоторые буквы налазят друг на друга.
А если пробую это распечатать - вообще абракадабра получается.

Как обойти эту проблему? Или может у меня руки кривые? Объясните, пожалуйста, ламеру!!!

спустя 42 минуты [обр] Thirteensmay(17/157)[досье]
Просто несовместимость, надо подбирать шрифты. Я юзал напрямую ttf, и то подбирать пришлось. Правда юзал их из сишного интерфейса FPDF, незнаю выведена ли эта возможность на уровень PHP, посмотрите сами в доке.
спустя 3 дня [обр] Merli SOI[досье]

Для конвертации шрифтов брал родной виндовый ttf.

Правда, потом нашел здесь следующий синтаксис для ttf2pt1:
ttf2pt1 -b -L cp1251.map times.ttf times

После такой конвертации MakeFont() ошибок не выдавала и в PDF все прекрасно отображалось.

Правда проблема с печатью остается. Единственній выход - выбирать опцию "Печатать как изображение".

спустя 1 месяц 13 дней [обр] bjvv[досье]

Тоже столкнулся с такой проблемой.
Решение:

  1. Скачать с http://prdownloads.sourceforge.net/ttf2pt1/ttf2pt1-3.4.4.tgz и собрать бинарник
  2. ttf2pt1 -A times.ttf times
  3. MakeFont('times.ttf','times.afm','cp1251');

Проблема ушла сама собой.

Powered by POEM™ Engine Copyright © 2002-2005