利用iTextSharp生成PDF,在本地调试和运行是可以的,发布到服务器上之后就报“The document has no pages.”的错误,经过排查,是字体的问题:
BaseFont baseFont = BaseFont.CreateFont("C:\\WINDOWS\\FONTS\\STSONG.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
这一句,STSONG.TTF是华文宋体,在本机系统有这个字体,但是服务器环境没有,所以会报错。换成服务器有的字体就可以了。
比如黑体:
BaseFont baseFont = BaseFont.CreateFont("C:\\WINDOWS\\FONTS\\SIMHEI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);