2011-11-22 11 views
5

Moja aplikacja Java tworzy pliki PDF za pomocą iText. Czasami zawartość jest azjatycka, co nie działa. Azjatyckie postacie nie są widoczne.Jak skonfigurować iText do obsługi znaków azjatyckich?

Znalazłem iTextAsian.jar na stronie pobierania iText, ale nie wiem, jak z niego korzystać.

Celem jest użycie mojej ulubionej czcionki jako domyślnej. Ale gdy postać nie jest dostępna, dla tej postaci używana jest inna czcionka. Czytałem, iText może automatycznie wybierać czcionki w ten sposób, ale jak to skonfigurować?

Chcę również, aby wszystkie wymagane czcionki były zawarte w pliku PDF, aby użytkownicy nie musieli instalować azjatyckich czcionek na swoich komputerach.

+0

Nie są one "symbolami", są znakami. – NullUserException

+0

Czy wszyscy użytkownicy mają zainstalowany pakiet czcionek azjatyckich z przeglądarkami plików PDF lub czy mają kontrolę nad zainstalowaną podstawą przeglądarek plików PDF, tak aby można było to zrobić? Jeśli nie, użycie czcionek osadzonych w PDF spowoduje, że wynikowy plik PDF będzie zbyt duży - iText będzie zawierał tylko glify potrzebne w dokumencie? –

+0

Brak kontroli nad użytkownikami. Jest to aplikacja internetowa, która tworzy pliki PDF. Bardzo duże pliki PDF są lepsze niż pliki PDF bez znaków azjatyckich. Następnym krokiem byłoby wykrycie, czy zawartość użytkownika zawiera znaki azjatyckie i pominięcie w tym dodatkowych czcionek na tej podstawie. – Witek

Odpowiedz

2
  • Możesz zdefiniować "FontSelector", a następnie dodać swoje czcionki (fontSelector.AddFont). Teraz iText wybierze dostępny znak z następnej zdefiniowanej czcionki przy użyciu metody fontSelector.Process.
  • Postaci azjatyckie to zwykle Unicode, więc musisz ustawić "BaseFont.IDENTITY_H" zamiast Ansi (takich jak FontFactory.GetFont ("tahoma", BaseFont.IDENTITY_H)).
  • Jeśli jest to RTL, musisz zawinąć tekst w elementy, które mają właściwość direction i ustawić ją na rtl.
+0

Jakie czcionki muszę dodać przez addFont()? – Witek

+0

BaseFont.IDENTITY_H osadza wybrane czcionki .ttf w ostatecznym pliku PDF. Poszukaj czcionek, które mają pełne znaki tego języka. – VahidN

+0

Ponieważ użytkownicy witryn mogą pochodzić zewsząd, muszę dodać czcionki dla wszystkich znaków do selektora, prawda? Jak się dowiedzieć, które (10?) Darmowe czcionki razem obejmują 99% wszystkich znaków? – Witek

Powiązane problemy