Mam program, który tworzy opis XSL-FO
z pliku tekstowego i konwertuje go do dokumentu PDF. Każda linia w pliku tekstowym jest konwertowana na fo:block
w FO, co brzmi nie tak, ale nie mogę tego teraz zmienić. Mój dokument zawiera od 1 do 3 stron formatu A4.Jak utworzyć układ dwukolumnowy z XSL-FO i FOP 1.0?
Muszę teraz dodać grafikę o szerokości około 8 cm poniżej istniejącego tekstu. Powinien być wyrównany do lewej. Obok niego chcę umieścić blok tekstu z (długim) opisem.
Szukałem w kilku dokumentacji dla FO i podszedł z tym:
<fo:block intrusion-displace="block" margin-top="20mm">
<fo:float float="right">
<fo:block margin-left="20mm">
Bacon ipsum dolor sit amet laborum proident...
</fo:block>
</fo:float>
<fo:external-graphic src="image.png"/>
</fo:block>
To wydawało się być to, co chciałem (po pewnym dostrajania oczywiście), ale niestety jeszcze FOP does not supportfo:float
.
Istnieje również sposób tworzenia wielu kolumn (bez tabeli), ale nie byłem w stanie dowiedzieć się, jak to działa. Wydaje się, że potrzebujemy do tego nowej strony, ale muszę użyć bieżącej strony, jeśli jest dostępna przestrzeń (o której nie myślę chyba).
Moje pytanie: Czy istnieje inny sposób na zbudowanie tego bez użycia fo:float
?
+1 za bekon ipsum. :-) –
Dwie kolumny nie pomogą. Jeśli tekst jest większy niż obraz, wyważarka kolumn rozpocznie tekst * pod * obrazem i kontynuuje go w następnej kolumnie. Jeśli tekst jest z pewnością mniejszy, tabela wydaje się być dobra. – bytebuster