Footer z podsumowaniem treści danej strony

0

Witam,

Chciałbym wygenerować pdf z rejestrem księgi podatkowej. Wszystko byłoby w porządku, gdyby nie footer. Powinien on zawierać podsumowania strony, przeniesienia z poprzednich stron i całościowe kwoty dla każdej kolumny księgi (jest ich osiem). Problem w tym, że footer jest renderowany na początku, przed dodawaniem treści, więc w momencie jego dodania do tabeli nie wiadomo, jakie będą kwoty dla danej strony. Jak rozwiązać ten problem? Byłbym wdzięczny za wszelkie wskazówki.

0

Wyglada na to ze robisz obliczenia w trakcie generowania strony. Nie mozesz robic obliczen osobno, na poczatku, a dopiero gdy masz wszystkie informacje zabierac sie za generacje PDF?
Poza tym, nie wiadomo czego uzywasz, jakiej biblioteki. Jesli Java to stawiam na iText, ale moze co innego. Jak podasz wiecej info, wiecej osob bedzie w stanie sie wypowiedziec.

0
mućka napisał(a)

Wyglada na to ze robisz obliczenia w trakcie generowania strony. Nie mozesz robic obliczen osobno, na poczatku, a dopiero gdy masz wszystkie informacje zabierac sie za generacje PDF?

No właśnie problem polega na tym, że przed dodaniem danych nie wiadomo, ile wierszy zmieści się na danej stronie. Wpadłem wcześniej na pomysł rozwiązania podobnego do tego, które proponujesz. Najpierw wypełnić dokument treścią i pustymi footerami, policzyć liczbę wierszy na każdej ze stron (z zastosowaniem metody onEndPage interfejsu PdfPageEvent), a potem dokonać podsumowania każdej strony z osobna w pętlach ograniczonych pobraną wcześniej liczbą wierszy. W drugim etapie rozpocząć dodawanie do zupełnie nowego dokumentu w tradycyjny sposób, nie jaki footer, ale zwykły wiersz. Problem w tym, że jest ono mało "zgrabne" i uczynię tak jedynie w ostateczności.

p.s.

Wpisałem w temacie prefiks [iText], ale wówczas wyskoczyła informacja na czerwono, że powinienem dać go do tagów, co uczyniłem.

0

Trochę z innej beczki...
Jest biblioteka FlyingSaucer, która wewnętrznie używa iText, ale tworzy pdf'y z XHTML, co jest znacznie łatwiejsze. Nie rozwiąże to twojego problemu, ale możesz sobie ułatwić życie: generuj strony XHTML ze z góry narzuconą liczbą wierszy i wyliczoną stopką, a potem z tego rób pdf.
Jest jeszcze BIRT, który sobie powinien z tym poradzić, ale trochę pracy trzeba włożyć, żeby go ogarnąć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0