#php #pdf-generation #html2pdf #cp1251
#php #генерация pdf #html2pdf #cp1251
Вопрос:
Я загрузил и настроил скрипт с: http://www.html2pdf.fr / ru Он отлично работает с кодировкой по умолчанию, но когда я пытаюсь сгенерировать документы с символами в CP-1251, я получаю пробелы вместо символов. Также все мои файлы в CP-1251, данные в базе в CP-1251 и, как вы можете видеть, я использую простой шрифт -Arial
Пожалуйста, может быть, существует какое-то решение, чтобы заставить его работать.
P / s извините за мой английский
ob_start();
include(dirname(__FILE__).'/res/exemple00.php');
$content = ob_get_clean();
require_once(dirname(__FILE__).'/../html2pdf.class.php');
try
{
$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->setDefaultFont('Arial');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$content1=$html2pdf->Output('', 'S');
// Немного кода php
$db->query("set names cp1251");
$query="SELECT data from files Where id=$file_id ";
$result=$db->query($query);
$row=$result->fetch_assoc();
$content=($row['data']);
заголовок(‘Content-Type: application/pdf’);
заголовок («Content-Length: «.strlen(содержимое));
заголовок(‘Content-Disposition: вложение; filename=Invoice#’.$invoice_id.’.pdf’);
вывести $content;
}
catch(HTML2PDF_exception $e) { echo $e; } enter code here
Ответ №1:
Я не использую эту библиотеку, но вы устанавливаете свою кодировку в конструкторе HTML2PDF?
$html2pdf = new HTML2PDF('P','A4','fr', true, 'CP-1251');
Если это не сработает, попробуйте ‘cp1251’ или ‘CP1251’, я не нахожу списка распознанных кодировок в документации. Вы также можете использовать iconv и преобразовать в UTF-8, поскольку это, похоже, используется по умолчанию.
Комментарии:
1. Я получаю следующее:
html_entity_decode() [function.html-entity-decode]: charset CP-1251' not supported, assuming iso-8859-1 in /var/www/myproject/parsingHTML.class.php on line 203
Когда я пытаюсь «CP1251» или «cp1251» и т.д. — это снова пробелы вместо символов. Кроме того, я пытался использовать кодировку UTF-8 и функцию iconv, в этом случае я получаю сообщение от Acrobat Reader «Документ PDF поврежден». В любом случае спасибо за ответ.