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

Pdf 系统环境如何影响itextsharp(换行)渲染?,pdf,itext,windows-server-2012-r2,Pdf,Itext,Windows Server 2012 R2,在使用itextsharp创建了几年pdf文档之后,我原以为我是在这里帮助人们解决他们的itext问题的人——但现在我自己得到了一个,我一直坚持: 问题是,使用相同的源代码、相同的itextsharp dll和相同的模板/数据,生产环境中的pdf呈现出的效果与开发/登台环境中的略有不同 虽然两个文档中段落内的行距相同,但在生产过程中,两个段落之间的间距(+空行)稍高。这个微小的差异是对文档中段落的总结,并导致文档末尾出现不必要的换行/换页 因为在我的实现中,有一个围绕itextsharp库的完整

在使用itextsharp创建了几年pdf文档之后,我原以为我是在这里帮助人们解决他们的itext问题的人——但现在我自己得到了一个,我一直坚持:

问题是,使用相同的源代码、相同的itextsharp dll和相同的模板/数据,生产环境中的pdf呈现出的效果与开发/登台环境中的略有不同

虽然两个文档中段落内的行距相同,但在生产过程中,两个段落之间的间距(+空行)稍高。这个微小的差异是对文档中段落的总结,并导致文档末尾出现不必要的换行/换页

因为在我的实现中,有一个围绕itextsharp库的完整框架,从xml模板和数据库数据生成PDF,所以我不能简单地提供生成PDF的“代码”

基本上是一个模板定义,如:

<text>Hello</text>
<text />
<text>World</text>
每个段落的字体如下所示:

iTextSharp.text.Font(
    BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, false),       
    Size, 
    Style, 
    Color);
文本周围没有章节、表格或外部段落。文本的直接区域中没有DirectContent呈现

生产环境和暂存环境都是2008 R2服务器,具有(据我所知)相同的设置和安装的应用程序。pdf创建组件是一个提供二进制pdf的aspx Web服务

使用的itextsharp库是v4.1.6.0(不幸的是,我被绑定到这个版本)

那么,在七个地狱中,有什么会导致一个环境中的“Hello”和“World”之间的距离比另一个环境中的“Hello”和“World”之间的距离更大呢


如果您对此有任何想法,我们将不胜感激。

可能字体并不完全相同,即使它们的名称相同,请检查版本。给定相同的字体,它在任何环境下都会呈现完全相同的效果。“HELVETICA”BaseFont实际使用的是来自windows字体的Arial常规字体吗?(>此字体在两种环境中的版本相同),但由于嵌入选项设置为false,显示Pdf的Pdf阅读器将使用客户端系统字体,不是吗?HELVETICA将在任何地方使用相同的度量,渲染将使用查看器选择的内容。这永远不会导致您所说的增量错误。你最好把这两本PDF都贴出来,以便检查。PDF的内容是保密的。以何种方式可以检查PDF?我能够使用productions DLL在控制台应用程序的生产环境中运行genator。包含上述代码的Hello World pdf以及从原始模板生成的pdf(没有数据库内容)未显示错误:(如果不看两份PDF,您的问题无法回答。
iTextSharp.text.Font(
    BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, false),       
    Size, 
    Style, 
    Color);