6
votes

Rivers des chaînes de droite à gauche (bidirectionnelles) Langues dans ItextShaRP

J'utilise iTextShaRP (C # ITEXT Port) pour créer des PDF à partir du texte / html. La majeure partie de mon texte est en hébreu, une langue droite à gauche.

Mon problème est que les PDF montrent que RTL Langauge en sens inverse, j'ai donc besoin d'inverser mes chaînes d'une manière qui ne renverserait que le texte RTL sans inversion de chiffres ni de texte en anglais. Je crois comprendre que Fribidi permet de le faire sur Linux, mais je ne pouvais trouver aucune solution pour ce problème pour Windows.

Je souhaiterais des suggestions, y compris une alternative à ItextShaRP qui le ferait automatiquement (si l'on existe).


0 commentaires

4 Réponses :


1
votes

HTML affiche l'hébreu / arabe en mode logique et dans PDF, vous devez stocker le mode Visual IT. Ce que vous devez faire est de convertir du mode logique en mode visuel. Il existe certaines bibliothèques qui font cela (Google pour Minibidi qui est sous licence BSD IMHO, ou Fribidi qui est GPL ou LGPL).

Ma véritable suggestion serait de changer de direction. Écrivez une très petite application à Qt4 qui prend comme premier argument de l'URL, et le second pdf à écrire. Puisque Qt4 a la prise en charge de HTML (via qtwebkit) a la possibilité d'imprimer sur pdf (Script Post Script et SVG également), cela devrait être plus simple, puis écrivez votre propre solution HTML-> PDF.


0 commentaires

1
votes

PDFCreator est un outil gratuit pour créer des fichiers PDF à partir de presque toutes les applications Windows. Il s'installe comme pilote d'imprimante Windows, de sorte qu'il puisse être utilisé par tout programme Windows qui a une fonctionnalité d'impression.

Vous pouvez traiter votre entrée comme des chaînes de texte simples à imprimer, et peut-être utiliser le Imprimer Option de menu de Notepad créera le fichier PDF correct.

Si vous souhaitez plonger un peu plus profondément dans la droite à gauche C # Impression, utilisez < Un href = "http://msdn.microsoft.com/en-us/library/system.drawing.stringformatflags.aspx" rel = "nfollow Noreferrer"> stringformatflags.directionRightToleft chaîne Format avec graphiques.Drawstring () appels.

Un extrait d'un Gestionnaire d'événements d'impression : xxx


0 commentaires

1
votes

Il suffit de mettre la chaîne dans la cellule du tableau: xxx


0 commentaires

8
votes

Afficher les textes RTL à l'aide d'ItextShaparpe correctement:

  • Vous devez définir le codage de la police sur basefont.identity_h
  • alors vous devez utiliser des éléments de conteneur qui prennent en charge exécutant , tel que pdfpcell , colonnetext , etc., et maintenant, vous pouvez définir leur < code> élément.rundirection = pdfwriter.run_direction_rtl ;

0 commentaires