使用itextsharp创建pdf文档几年后,我虽然在这里帮助人们处理他们的迭代问题 - 但现在我自己有一个,我坚持:
问题是,使用相同的源代码,相同的itextsharp dll和相同的模板/数据,生产环境中的pdf与dev / staging环境略有不同。
虽然段落中的行间距在两个文档中都相同,但两段之间的空格(+空行)在生产时略高一些。这个微小的差异总结了文档中的段落,并导致文档末尾出现不需要的行/分页符。
因为在我的实现中有一个围绕itextsharp lib的整个框架,从xml模板和数据库数据生成pdf,我不能简单地提供"代码"生成pdfs。
基本上是模板定义,如:
<text>Hello</text>
<text />
<text>World</text>
...会导致代码处理如下:
document.Add(new Paragraph("Hello", font);
Paragraph p = new Paragraph();
Chunk c = Chunk.NEWLINE;
c.Font = font;
p.Add(c);
document.Add(p);
document.Add(new Paragraph("World", font);
每个段落的字体创建如下:
iTextSharp.text.Font(
BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, false),
Size,
Style,
Color);
文本周围没有章节,部分,表格或外部段落。文本的紧邻区域没有DirectContent渲染。
生产和登台环境都是2008 R2服务器(据我所知)相同的设置和安装的应用程序。 pdf创建组件是一个提供二进制pdf的aspx webservice。
使用的itextsharp lib是v4.1.6.0(不幸的是我绑定了这个版本的atm)
那么七个地狱中的东西会导致更高的距离&#34;你好&#34;和&#34;世界&#34;在一个环境而不是另一个环境?
对此有任何想法都会受到赞赏。