Znowu wróciłem do FOP'a. Pomyślałem sobie, że jak znajdę sposób na obliczenie szerokości kolumn w tabeli na podstawie znajdujących się tam danych i ustawię tą szerokość na sztywno, to będzie można spokojnie obejść problem
table-layout="fixed"
.
W PHP mamy do dyspozycji funkcję
imagettfbbox
, dzięki której można wyliczyć szerokość tekstu przy zastosowaniu określonej czcionki. Najprościej można to zrobić tak:
function get_text_width($font,$font_size,$text) {
$box = imagettfbbox($font_size,0,$font,$text);
return $box[4];
}
Gdzie:
$font
- ścieżka do użytej czcionki
$font_size
- rozmiar czcionki dla której ma być wyliczona szerokość tekstu
$text
- tekst dla którego wyliczymy szerokość.
Przed wygenerowanie właściwej tabeli w XSL-FO, wyliczam maksymalne szerokości dla danych z każdej kolumny i na tej podstawie generuję tagi
<fo:table-column column-width="??"/>
.
2 komentarze:
Witam, nie widze nigdzie zadnej innej formy kontaktu wiec postanowilem napisac jako komentarz pod tym wpisem za co z gory przepraszam.
Znalazlem w archiwach Twoj post na temat pobierania kafelkow z zumi i napisales tam rozniez ze ukaze sie jeszcze druga wersja skryptu gdzie bedzie konwersja tilow googla do zumi, wlasnie sie interesuje tym tematem i chcialem w zwiazku z tym zapytac czy taki skrypt napisales/moglbys udostepnic, lub czy moglbys jakos przyblizyc mi temat takiej konwersji czyli czym sa dane oznaczenia w google i zumi i jak sie do siebie maja.
Z gory dzieki za pomoc
Pozdrawiam
Dzięki za przypomnienie tematu, ostatnio zumi zmieniło trochę format nazw swoich plików png, więc tym bardziej temat do odświeżenia...
Prześlij komentarz