Utilisation de Java PDFBox pour écrire l'hébreu dans un PDF


J'utilise PDFBox pour écrire du texte au format PDF.
Quand j'écris en anglais, il fonctionne parfaitement bien, mais quand j'essaie d'écrire en hébreu-je obtenir charabia.

J'ai essayé toutes sortes de solutions, mais rien ne semble fonctionner. J'ai essayé tout ce qui a été décrit dans les threads suivants: Première, Deuxième, Troisième.

Toutes les solutions ci-dessus utilisent iText. J'ai besoin de le gérer en quelque sorte avec PDFBox.

J'ai vu que l'utilisation de DictionaryEncoding pourrait travailler, même si je ne le comprends pas. J'ai essayé de l'utiliser mais cela ne fonctionne pas pour l'hébreu (A écrit toutes les lettres hébraïques de 1488 à 1514).

COSDictionary cosDic = new COSDictionary();

cosDic.setString( COSName.getPDFName("alef"), "1488" ); // First Hebrew letter
.
.
.
cosDic.setString( COSName.getPDFName("tav"), "1514" ); // Last Hebrew letter

font.setEncoding( new DictionaryEncoding( cosDic ) );

Tout type d'aide serait appréciée.

Author: Maor Refaeli, 2012-12-26

1 answers

La solution pour moi était de passer à iText.
Tout le travail acharné concernant l'encodage des lettres Unicode et le support RTL dans le PDF a été mis en œuvre par eux pour.
Je suppose que si quelque chose est trop difficile avec une bibliothèque il y a probablement une autre bibliothèque qui peut le faire mieux.

 0
Author: Maor Refaeli, 2018-08-30 15:32:58