为什么我的 PDF 文件打印效果不同?

为什么我的 PDF 文件打印效果不同?

我有一个内部应用程序,可以为不同的报告生成 PDF 文件。现在,根据报告类型,PDF 文件由 2 个不同的应用程序生成 - 第一个是neevia Doc Creator另一个是Oracle 报告

如果我使用 Adob​​e Acrobat 阅读器打开任一 PDF 文件,然后发出打印命令,则两个文件都可以正确打印,并且保留所有格式。

但是,如果我将文件直接复制到打印机(打印机在网络上共享,复制文件是指问题copy <file> \\share_name),那么通过 neevia Doc Creator 创建的 PDF 文件可以打印正常,并且格式得以保留。

如果我对使用 Oracle Reports 创建的 PDF 文件执行相同操作,则打印将会关闭,格式也不会保留。

起初,我以为这是一个字体替换问题,但发现 Oracle 报告生成的 PDF 中没有嵌入字体。因此我做了一些更改,现在字体已嵌入 - 但打印仍然不匹配。

为什么会这样?我错过了什么?有什么方法可以确定其他 PDF 有什么不同,导致其丢失格式吗?

从 Adob​​e 打印时,打印效果如下:

Adobe 打印输出

直接打印(即复印)后的效果如下

打印输出

该打印机是 HP Color LaserJet 4700 PS,连接到运行 Windows Server 2003 的专用打印服务器。

答案1

字体是否嵌入在 PDF 中?如果没有,打印机可能使用本地字体。我写了一篇博客文章解释http://www.jpedal.org/PDFblog/?p=635

答案2

您的打印机似乎有一个于 2010 年 7 月发布的新固件版本。这是我要尝试的第一件事。

http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareIndex.jsp?lang=en&cc=us&prodNameId=473039&prodTypeId=18972&prodSeriesId=473038&swLang=8&taskId=135&swEnvOID=1005#290

如果适用的话,还在 Win2K3 盒上安装最新的驱动程序。

答案3

有几个PDF 格式的版本。也许 neevia Doc Creator 创建的文件适合打印服务器上的驱动程序支持的旧版本,而 Oracle Reports 使用了驱动程序无法理解的某些较新版本的功能。当您使用 Acrobat Reader 打印时,它会生成 PostScript 文件以发送到打印机(并且毫不奇怪地可以毫无问题地处理所有版本的 PDF)。

相关内容