хорошо, я думаю, у меня есть решение вашей проблемы. Я могу сделать PDF, который выглядит так, как я думаю, вы ищете. вот скриншот этого
http://i.imgur.com/UBdkNDx.png
, чтобы сделать это, вы должны использовать другой способ создания PDF-файлов, чем DOMPDF: wkhtmltox-PHP.
wkhtmltox-php - это специальная команда php, скомпилированная из источника, которая использует libwkhtmltox для создания PDF-файлов. установка требует немного усилий, но это сделает ваш персидский текст выше, и будет намного быстрее, чем dompdf.
Эти инструкции предполагают линукс или подобно тому, как ваш зева:
первый: установка wkhtmltopdf. есть предварительно скомпилированные двоичные файлы для большинства операционных систем здесь:
http://wkhtmltopdf.org/downloads.html
второй: получить и скомпилировать и установить PHP-wkhtmltox.
cd /tmp/
wget https://github.com/mreiferson/php-wkhtmltox/archive/master.zip
unzip master.zip
cd php-wkhtmltox-master/
phpize
./configure
sudo make install
примечание: если у вас на компьютере нет phpize, вам необходимо установить ваши пакеты php dev. Примечания:. Если вы получаете ошибки на настройках или сделать установки вам потребуется установить с компиляцией инструменты, как «сделать» и «ССЗ»
читая выход make install
вы будете знать, в каком каталоге модуль находится в обычно это:
/usr/lib64/php/modules/
третий: набор PHP, чтобы знать об этом модуле в файле php.ini, добавьте следующую строку в разделе заголовком «Dynamic Extensions»
extension=phpwkhtmltox.so
четвёртая: бег л dconfig
$ ldconfig
пятый: перезапуск Apache (или любой другой HTTPD вы используете)
наконец: использовать его как так: для моего примера здесь, я просто используя страницу открытия шахматы из википедии, так как я не имеют URL-адреса для вашего образца html.
<?php
/**
* the config_array has lots of options but the two most important are:
* "out" this is the full path to where you want your pdf made
* "imageQuality" basically the same as jpg image quality. lower quality is slower, higher quality is a bigger file
*/
$config_array = array( "out" => "/tmp/pdfdocument.pdf",
"imageQuality" => 95);
/**
* the array of urls that are the input html for making your pdf. note that these are not files, but urls
* also note that this is an array of arrays keyed by "page"
*/
$htmls_array = array(array("page"=>"http://en.wikipedia.org/wiki/Queen's_Gambit_Declined"));
/**
* run the conver like so and your pdf file should be on disk
*/
wkhtmltox_convert('pdf', $config_array, $htmls_array);
?>
Если вы посмотрите на скриншот, который я опубликовал выше, похоже, что phpwkhtmltox делает работу правильно.
«Выход не работает». Вы говорите о сломанном выходе RTL? – sofl
В настоящий момент domdpf не поддерживает RTL. Вы можете взломать библиотеку, чтобы получить псевдоподдержку ([см. Здесь] (https://github.com/dompdf/dompdf/issues/426)). Вы также можете попробовать либо [TCPDF] (http://www.tcpdf.org), либо [mPDF] (http://www.mpdf1.com), оба из которых, по-видимому, имеют хотя бы некоторый уровень поддержки RTL. – BrianS
- это то, что вы ищете? http://i.imgur.com/UBdkNDx.png Если да, я могу дать вам ваше решение, я думаю ... – frymaster