使用各种压缩/设置将JPG页面压缩为PDF

时间:2011-05-05 04:59:56

标签: pdf pdf-generation acrobat ghostscript

我想采用单页jpg,并尝试各种pdf压缩设置和其他设置(分析结果的pdf大小和质量) - 任何人都可以指向我这样做的体面工具,以及任何有用的文档/指南?

3 个答案:

答案 0 :(得分:1)

Adob​​e Acrobat Distiller,Ghostscript,可能还有其他人。 Acrobat有自己的手册,可以在以下网址找到Ghostscript文档:

http://svn.ghostscript.com/ghostscript/tags/ghostscript-9.02/doc/Ps2pdf.htm

用于当前版本的PostScript到PDF转换(在开始之前将JPEG打印到PostScript文件中)。

如果您的原件是JPEG,那么最佳质量的输出将完全不做任何事情,只需将其包装成PDF语法即可。

如果你坚持对图像数据进行下采样(这是你要减小JPEG图像大小的唯一方法),那么你会被建议使用DCT(JPEG)压缩PDF文件,因为这将引入令人反感的文物。

您应该使用无损压缩方案,例如*“Flate”。

你最好的选择是回到一个尚未存储为JPEG的原件,在一个不错的图像应用程序中进行下采样,然后转换为JPEG并将其包装成PDF格式。

答案 1 :(得分:1)

Docotic.Pdf library可用于将JPEG(包括或不包含重新压缩)添加到PDF。

在将其添加到PDF之前,请先查看显示how to recompress images的示例。借助库,您也可以重新压缩现有图像。

免责声明:我为图书馆的供应商Bit Miracle工作。

答案 2 :(得分:0)

如果您在Windows上使用.NET,我的公司Atalasoft可以使用工具来创建图像PDF。您可以使用以下代码轻松调整压缩:

public void WriteJpegPdf(AtalaImage image, Stream outStream)
{
    PdfEncoder encoder = new PdfEncoder();
    encoder.JpegQuality = 60; // 0 - 100
    encoder.Save(outStream, image, PdfCompressionType.Jpeg);
}

这是达到jpeg质量的最简单方法。如果图像不是24位rgb或8位灰色,它将覆盖您的设置。

如果您关注编码一堆文件但需要对压缩进行细粒度控制,编码器会有一个事件SetEncoderCompression,它在编码图像之前调用,以便您查看编码器选择的内容并且可以覆盖如果你愿意的话。

FWIW,我写了大部分PDF编码器和导出实际PDF的底层。