Czy ktoś ma łatwy sposób na obliczenie, ile punktów na stronie tekst zużyje w określonej czcionce i rozmiarze? (easy = minimalne linie kodu + obliczeniowo tanie). Zend_Pdf nie ma funkcji, która to robi, z wyjątkiem kilku bardzo kosztownych wywołań dla każdego znaku, aby uzyskaćGlyphForCharacter(), getUnitsPerEm() i getWidthsForGlyph().Zend_Pdf obliczanie długości ciągu tekstowego w aktualnej czcionce do zawijania linii
Generuję wielostronicowy plik PDF z kilkoma tabelami na każdej stronie i muszę zawinąć tekst w kolumnach. Utworzenie go zajmuje już kilka sekund i nie chcę, aby trwało to dłużej, bo inaczej zacznę się bawić z zadaniami tła lub pasków postępu itp.
Jedyne rozwiązanie, które wymyśliłem to wstępne obliczanie szerokości (w punktach) każdego znaku w każdej używanej wielkości czcionki, a następnie dodawanie ich do każdego ciągu. Nadal dość kosztowne.
Czy brakuje mi czegoś? Czy masz coś prostszego?
dziękuję!
Użyłem tego również. Działa jak w reklamie. – jason
który wygląda dobrze. Mam stały słownik zawierający około 200 fraz, więc mógłbym użyć powyższego kodu (nieco zaadaptowanego) do wstępnego skompresowania i buforowania zawijanych napisów. Plik PDF jest generowany tylko raz (przy pierwszym przeglądaniu), a następnie zapisywany w pamięci podręcznej. Powinno to spowodować prawie zerową obniżkę wydajności i znacznie ładniejsze formatowanie. Dzięki za pomoc! – Steve