我正在使用EVO PDF dll从HTML生成PDF,但我面临生成的PDF文件的大尺寸问题 . 这个HTML包含很少的JPEG图像,我在evo中尝试了压缩选项,但文件大小仍然很高 .
如果HTML的原始大小为40 KB,那么EVO PDF也会生成大小为400 KB的PDF,这是非常高的 . 如果我们使用RDLC实现相同,那么RDLC将生成80或100 KB的格式 . 那么我可以采取哪些措施来缩小PDF尺寸呢?
最后,通过进行以下更改,我成功地减小了尺寸 .
1.使用矢量图像而不是位图(缩放后需要更大的尺寸也会失去质量) .
2.尽可能使用CSS而不是图像 .
3.使用标准字体 .
4.使用 pdfConverter.ConversionDelay = 0
pdfConverter.ConversionDelay = 0
5.使用 pdfConverter.PdfDocumentOptions.EmbedFonts = false
pdfConverter.PdfDocumentOptions.EmbedFonts = false
6.使用 pdfConverter.PdfDocumentOptions.CompressCrossReference = true;
pdfConverter.PdfDocumentOptions.CompressCrossReference = true;
7.使用 pdfConverter.PdfDocumentOptions.PdfCompressionLevel = PdfCompressionLevel.Best;
pdfConverter.PdfDocumentOptions.PdfCompressionLevel = PdfCompressionLevel.Best;
8.如果您使用评估副本,由于“演示评估复制”水印,大小将更多
如果即使在尺寸太大之后,也可以使用像Neeviapdf这样的付费.Net PDF压缩器,这将用于压缩由EVo生成的PDF(这些dll通常将文件压缩到50%而不会有太多的质量损失) .
另一种选择是设置HtmlToPdfConverter.PdfDocumentOptions.ImagesScalingEnabled = true,最终增加JPEG压缩级别 . 这将减少PDF中的图像大小 . 您也可以查看Set Images Scaling and JPEG Compression Level in HTML to PDF Converter result工作示例 .
2 回答
最后,通过进行以下更改,我成功地减小了尺寸 .
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.如果您使用评估副本,由于“演示评估复制”水印,大小将更多
如果即使在尺寸太大之后,也可以使用像Neeviapdf这样的付费.Net PDF压缩器,这将用于压缩由EVo生成的PDF(这些dll通常将文件压缩到50%而不会有太多的质量损失) .
另一种选择是设置HtmlToPdfConverter.PdfDocumentOptions.ImagesScalingEnabled = true,最终增加JPEG压缩级别 . 这将减少PDF中的图像大小 . 您也可以查看Set Images Scaling and JPEG Compression Level in HTML to PDF Converter result工作示例 .