减少使用EVO HTML到PDF转换器dll生成的PDF文件的提示

本文关键字:PDF 文件 提示 dll 转换器 EVO HTML | 更新日期: 2023-09-27 18:37:01

我正在使用EVO PDF dll从HTML生成PDF,但是我遇到了生成的PDF文件过大的问题。这个 HTML 包含也包含很少的 JPEG 图像,我在 evo 中尝试了压缩选项,但文件大小仍然很高。

如果HTML的原始大小为40 KB,那么EVO PDF也会生成大小为400 KB的PDF,这是相当高的。如果我们使用 RDLC 来实现相同的目标,那么 RDLC 将以 80 或 100 KB 生成它。那么我可以做些什么来减小PDF大小呢?

减少使用EVO HTML到PDF转换器dll生成的PDF文件的提示

最后,

我通过执行以下更改成功地减小了大小。

1.使用矢量图像而不是位图(这需要更大的尺寸也会在缩放后失去质量)。

2.尽可能使用CSS而不是图像。

3.使用标准字体。

4.使用pdfConverter.ConversionDelay = 0

5.使用pdfConverter.PdfDocumentOptions.EmbedFonts = false

6.使用pdfConverter.PdfDocumentOptions.CompressCrossReference = true;

7.使用pdfConverter.PdfDocumentOptions.PdfCompressionLevel = PdfCompressionLevel.Best;

8.如果您使用的是评估副本,由于"演示评估副本"水印,大小会更多

如果即使大小太高,也可以选择付费的.Net PDF压缩器dll,如Neeviapdf等,它将用于压缩EVo生成的PDF(这些dll通常会将文件压缩到50%,而不会降低太多质量)。

另一种选择是设置 HtmlToPdfConverter.PdfDocumentOptions.ImagesScalingEnabled = true 并最终增加 JPEG 压缩级别。这将减小 PDF 中的图像大小。您还可以检查此 在HTML到PDF转换器结果中设置图像缩放和JPEG压缩级别 工作示例。

这是一篇旧帖子,但它基本上是谷歌 evopdf 和文件大小时出现的唯一相关帖子,我想指出与我有相同问题的其他人正确的方向。

我最近在我的应用程序中遇到了一个大文件大小的问题,它每月使用 evopdf 创建数百万个 pdf。因此,尺寸尽可能小是很重要的。

在分析结果文档时,我注意到文件的 90% 由"X 对象表单"组成。经过大量的测试,我终于发现在源文档中使用 html 表格会使 evopdf 保存这一大块 X 对象表单,占用 312kb pdf 文件中的 283kb。

当我重写代码以使用带有 css 显示<div>:表格、表格单元格等而不是 <table> 时,文件大小立即从 312 kb 变为 42 kb。这是一个非常显着的减少,将来将为我们节省大量磁盘空间。

希望这对某人有所帮助。

编辑:在进一步的研究中,我相信这与使用<thead><tfoot>有关。 当一个表跨越多个页面时,它们会在后续页面上重复使用,我猜它们被存储为 X Object 形式。这有点道理,但是当没有必要时,该功能不值得额外的千字节。如果来自evopdf的人可以确认这种情况,那就太好了。