1

当我尝试创建字体时,iTextSharp 真的非常不喜欢它:

FontFactory.GetFont(Font.HELVETICA, 12)

这给了我一个用户友好的StackOverflowException. 所以我尝试了这个:

new Font(Font.HELVETICA, 12)

它做同样的事情。试过Font.TIMES了,也得到了同样的东西。所以我尝试根据这个答案降低一点,这表明以下内容:

BaseFont bf = BaseFont.CreateFont(
            HttpContext.Current.Server.MapPath("/path/to/times.ttf"), 
            BaseFont.IDENTITY_H, 
            BaseFont.EMBEDDED);
new Font(bf, 12);

再一次,StackOverflowException。虽然一致性很好,但我更希望库让我选择一种字体。

我敢肯定我只是在某个地方弄错了一些配置;但我不知道它可能是什么。

4

1 回答 1

1

我发现这篇关于nabble的文章建议在单独的线程上创建字体,这样你就有更大的堆栈需要处理。

自由贸易协定

Thread smartCopyThread = new Thread(new ThreadStart(RunSmartCopy),
0x800000);
smartCopyThread.Start();
smartCopyThread.Join(); 

在这里,RunSmartCopy 将完成您所描述的工作。

于 2009-11-13T17:44:20.797 回答