Я заметил, что PDF-файлы, созданные с помощью PHP с использованием FPDF / FPDI и т. Д., Очень сильно растут при добавлении / встраивании в него шрифтов. Поэтому я старался избегать делать, если я использую известные семейства шрифтов, такие как arial
,
Предполагая, что я использую только Arial / Arial-bold, и я закомментирую следующие части в конструкторе:
// $this->AddFont('Arial', '', 'arial.php');
// $this->AddFont('Arial', 'B', 'arialbd.php');
Каково ожидаемое поведение PDF-файлов, открытых на разных компьютерах?
Причина для этого заключается в следующем:
Это разумный подход или рискованно использовать не встроенный шрифт?
Кроме того, скажите, пожалуйста, какая кодировка используется в этом случае. Мои ранее встроенные шрифты были ISO-8859-15, чтобы можно было использовать знак евро. Если я закомментирую вложение шрифта, все отображается в arial на моем компьютере с Windows, кроме знака евро. Я подозреваю, что вместо этого Windows использует кодировку Windows, а знак евро находится на другом символе.
Пожалуйста, дайте мне подсказку, как лучше всего создавать PDF-файлы с помощью FPDF без встраивания шрифтов при использовании общих семейств шрифтов. И какая кодировка используется интерпретатором в этом случае?
В общем, генерация PDF-файлов без встроенных шрифтов — очень плохая идея — у любого зрителя есть своя собственная стратегия показать ваш PDF-файл в этом случае, и вы вообще не можете контролировать PDF-файлы.
При этом, если вы хотите создавать PDF-файлы без шрифтов (пожалуйста, не делайте :-)), PDF имеет понятие стандартных шрифтов. Это те шрифты, которые должен иметь любой зритель (вы все еще не уверены, что шрифты будут отображаться одинаково, и у вас все еще могут быть проблемы с кодировкой, но у вас больше шансов на бой).
Эти шрифты: helvetica (обычный, жирный, курсив, полужирный курсив), раз (обычный, полужирный, курсив, полужирный курсив), курьер (обычный, полужирный, курсив, полужирный курсив), символ и zapfdingbats. Это всего 14 шрифтов.
И да, Arial относительно распространен, но Helvetica (что очень похоже) все равно будет лучшей идеей в этом случае.
Других решений пока нет …