Есть ли у кого-нибудь простой способ рассчитать, сколько точек на странице кусочек текста будет потребляться в определенном шрифте и размере? (легко = минимальные строки кода + вычислительно дешево). Zend_Pdf не имеет функции, которая делает это, за исключением некоторых очень дорогих вызовов для каждого символа getGlyphForCharacter(), getUnitsPerEm() и getWidthsForGlyph().Zend_Pdf вычисление длины текстовой строки в текущем шрифте для обертки строк
Я создаю многостраничный PDF-файл с несколькими таблицами на каждой странице и должен обернуть текст внутри столбцов. Для его создания уже несколько секунд, и я не хочу, чтобы он занимал слишком много времени, или мне придется начинать возиться с фоновыми задачами или полосами прогресса и т. Д.
Единственное решение, с которым я столкнулся, предварительно вычисляет ширину (в точках) каждого символа в каждом используемом размере шрифта, а затем добавляет их поверх каждой строки. Все еще довольно дорого.
Я что-то не хватает? Или у вас есть что-то более простое?
спасибо!
Я тоже использовал это. Работает как рекламируется. – jason
это хорошо выглядит. У меня есть фиксированный словарный запас около 200 фраз, поэтому можно использовать приведенный выше код (слегка адаптированный) для прекомпопуляции и кэширования слов, завернутых в строки. PDF создается только один раз (при первом просмотре), а затем кэшируется. Это должно привести к почти не ухудшению производительности и некоторому более приятному форматированию. Спасибо за вашу помощь! – Steve