Как генерировать многоязычный контент Pdf в PHP
Я использую TCPDF для создания многоязычного содержимого PDF в PHP. Я использую TCPDF и использую шрифт 'cid0jp', но он заставляет пользователя загрузить языковой пакет для Adobe Reader.
Есть ли способ генерировать многоязычный PDF, не заставляя пользователя загружать какой-либо языковой пакет?
2 ответа
Да, есть способ. У меня просто была такая же проблема. Почему Adobe Reader запрашивает языковой пакет, я не знаю.
Но я знаю, что лучший способ создания многоязычных PDF-файлов - это использовать Arial Unicode MS
- Шрифт, который включен в Windows. Это шрифт с большинством символов в соответствии с Википедией! Но там нет жирного или курсива. Вы можете купить Arial Unicode Bold по http://www.linotype.com/en/817674/ArialUnicode-family.html.
Я использую Arial MS Unicode-Font с китайским, японским, кириллическим языком. Для западных языков я использую обычный Arial, поэтому у меня курсив и полужирный шрифт. Другая возможность - использовать для каждого языка свой собственный шрифт, созданный для этого языка.
Чтобы заставить Arial MS Unicode работать с tcpdf, выполните шаги, описанные в ответе на этот вопрос: Создание PDF-файлов с использованием TCPDF, который поддерживает все языки, особенно CJK.
Я надеюсь, что смогу помочь...
Используйте html2pdf для многоязычного.
Я пытался с этим, и это работало для меня. Я разработал сайт для (английский / японский) Использовал шрифт arialunicid0 для многоязычного.
require_once('Classes/library/html2pdf.class.php');
//$html2pdf = new HTML2PDF('P', 'A4', 'en');
$html2pdf = new HTML2PDF('P', 'A4', 'en', true, 'UTF-8');
$html2pdf->setDefaultFont('arialunicid0');
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$filename = $filename .'_'.date('Ymd');
$html2pdf->Output($filename.'.pdf','D');
Это скачать файл с японским текстом.
Единственная проблема, с которой я столкнулся здесь с именем файла.
Если я передаю японский символ для имени файла, он загружает файл с пустым именем.