iTextSharp vraiment, n'aime vraiment pas quand je tente de créer des polices:iTextSharp tombe en panne avec un StackOverflowException lors de l'obtention d'une police
FontFactory.GetFont(Font.HELVETICA, 12)
Cela me donne un outil convivial StackOverflowException
. Donc j'ai essayé ceci:
new Font(Font.HELVETICA, 12)
qui fait la même chose. Je ai essayé Font.TIMES
, et a obtenu la même chose, aussi. J'ai donc essayé laisser tomber un peu plus bas sur la base this answer, ce qui suggère ce qui suit:
BaseFont bf = BaseFont.CreateFont(
HttpContext.Current.Server.MapPath("/path/to/times.ttf"),
BaseFont.IDENTITY_H,
BaseFont.EMBEDDED);
new Font(bf, 12);
Encore une fois, StackOverflowException
. Bien que la cohérence soit bonne, je préférerais que la bibliothèque me laisse choisir une police.
Je suis sûr que j'ai juste une mauvaise configuration quelque part; mais il m'échappe quant à ce que cela pourrait être.
J'ai trouvé ce lien, aussi, et tout ce qu'il accomplit, c'est que le crash se produit dans un autre thread. Ce n'est pas un petit confort - cela évite la boîte de dialogue modale qui apparaît sur le serveur dans le cas de crash-on-main-thread - mais ce n'est pas propice à la création du PDF réel. – TALlama