Itext PDF a ceske fonty rubrika: Programování: Android

5 error414_1
položil/-a 26.2.2015

Cau, snazim se zprovoznit ceske fonty v itextpdf, vsude na internetu jsou navody

BaseFont fonty = BaseFont.createFont("assets/helvetica.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

bohuzel to pise

02-26 21:53:50.848  13223-13223/com.spirit W/System.err﹕ com.itextpdf.text.DocumentException: Table 'OS/2' does not exist in assets/helvetica.ttf
02-26 21:53:50.848  13223-13223/com.spirit W/System.err﹕ at com.itextpdf.text.pdf.TrueTypeFont.fillTables(TrueTypeFont.java:433)
02-26 21:53:50.848  13223-13223/com.spirit W/System.err﹕ at com.itextpdf.text.pdf.TrueTypeFont.process(TrueTypeFont.java:664)

coz se nedivim protoze me tenhle direct pristup k assets slozce nesel. Tak pouzivam AssetsManager, ale ten pracuje se streamem. Jedine co me napada je nacist si fot streamem a ulozit ho nekam do telefonu, nacist a smazat. Ale tohle reseni me prijde trochu silene.

Nemate nejake napady?

odkaz Vyřešeno
8 Jakub Macek
odpověděl/-a 28.2.2015

Podíval jsem se do zdrojáku itextpdf a tedy moc hezky to nemají. De-facto je to zadrátovaná tovární metoda, která volá konstruktor, který má nějaké zadrátované testování na příponu souboru. Cílová třída TrueTypeFontUnicode pro jistotu není veřejná.

Nicméně kód je kompletně pod GNU Affero General Public License 3, takže by neměl být problém si vyrobit přidavný konstruktor do TrueTypeFontUnicode a novou tovární metodu pro byte[] (podporu pro samotné načítání z byte[] v samotném TrueTypeFontUnicode vidím).
Ideálně jim to poslat jako pull request: https://github.com/itext/itextpdf/blob/master/itext/src/main/java/com/it...

Komentáře

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.