系统环境如何影响itextsharp(换行)渲染?

时间:2017-02-06 10:35:11

标签: pdf itext windows-server-2012-r2

使用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;在一个环境而不是另一个环境?

对此有任何想法都会受到赞赏。

0 个答案:

没有答案