2011-11-10 23 views
5

Mam szablon JasperReport (generowany na serwerze) ze stylowym polem tekstowym (RTF). Zawartość tego pola jest generowana przez użytkownika i dlatego może zawierać wszystkie czcionki zainstalowane na komputerze klienckim (nazwij czcionkę X). Jeśli generuję teraz raport na serwerze, nie ma czcionki X, więc chcę zastąpić wszystkie nieznane czcionki czcionką Y.Domyślna czcionka JasperReports

Ale dostaję tylko błąd, że czcionki nie znaleziono. Funkcja (net.sf.jasperreports.awt.ignore.missing.font) do całkowitego wyłączenia sprawdzania czcionek nie jest pożądana, ponieważ chcę, aby czcionki jrxml były zaznaczone.

Czy istnieje sposób ustawienia domyślnej czcionki (bez modyfikacji źródła Jaspera)? (Znalazłem pewne punkty już w JRStyledText lub JRTextUtil.)

Odpowiedz

6

Możesz spróbować użyć właściwości net.sf.jasperreports.default.font.name.

Możesz też użyć default style.

<style name="Base" isDefault="true" ...> 

Więcej szczegółów można przeczytać article sekcja Default Fonts and Inheritance.

AKTUALIZACJA:

cytat z JasperReports Ultimate Guide:

Zachęcamy ludzi do używania w swoich sprawozdaniach czcionek tylko że są w rozszerzeniach czcionek. Jest to jedyny sposób, aby upewnić się, że czcionki będą dostępne dla aplikacji, gdy raporty zostaną wykonane w czasie wykonywania. Używanie czcionek systemowych zawsze wiąże się z ryzykiem, że raporty nie będą działać prawidłowo po zainstalowaniu na komputerze, który nie ma zainstalowanych tych czcionek.

+0

jeah I'v już ustawić tę właściwość, ale wciąż muszę wyłączyć ignore.missing.font ... Czy istnieje sposób zignorować brakujące czcionki tylko w konkretnych dziedzinach? – itshorty

+0

@itshorty I jakie jest twoje pytanie? Myślałem, że to: "czy jest sposób na ustawienie domyślnej czcionki?" ... –

+0

Tak, ale włącz ignore.missing.font enabled ... Jest tylko jedno pole, w którym czcionki nie są zawsze dostępne, więc chcę włączyć wyłączone sprawdzanie czcionek tylko dla tych pól. – itshorty