2011-11-04 71 views
0

我有一个系统,它使用itextsharp生成PDF文件并将它们邮寄给我的用户。文件的增长方式并不正确。PDF文件在处理后变大

  1. 我从一个1页的word文档28 KB开始。
  2. 我用adobes打印机打印这一页的word文档,pdf文件得到73 KB。
  3. 我在Adobe Acrobat X中打开文档,插入我的表格并保存,1055 KB。
  4. 我在itextsharp中加载文档并设置了30个不同的值,现在我的文件是2031 KB。

是否有任何压缩标志或技巧,可以在itextsharp或Adobe中设置,使我的文件保持在〜73 KB。我不添加任何图像或任何其他媒体。只是文字。

BR 安德烈亚斯

回答

1

我已经受够了PDF文件的大小类似的成长的乐趣。我已经将表单模板生成下到了一个过程,在该过程中,我将模板下载到最小的可能的大小,然后将其发送到itextsharp以使其填充它。

在第3步中,您将为您的表单添加您的acrofield。完成添加所有字段并保存文档后,使用“缩小文件大小...”选项帮助缩小文档。然后,您还可以使用PDF优化器进一步减小文件大小。我个人使用一种解决方法,当我使用从多个文件创建PDF功能时,只添加我正在处理的一个文档,然后选择较小的文件大小选项以获得质量较低的优化PDF。

然后在第4步中,这取决于您如何填充和生成PDF文件。我们的流程使用生成的模板PDF,并将每个页面复制到填充了表单域的新文档中。当复制而不是使用PDFCopy类时,我们使用PDFSmartCopy类将内容复制到新文档,但不会复制相同的内容。切换到智能副本类后,我们看到itextsharp生成的文件大小显着减少。

希望这会有所帮助。