我想拿一个单页的jpg,并尝试各种pdf压缩设置和其他设置(分析结果pdf的大小和质量)-谁能给我指点合适的工具来做这件事,以及任何有用的文档/指南?
发布于 2011-05-05 22:35:40
Adobe Acrobat Distiller,Ghostscript,可能还有其他。Acrobat有自己的手册,Ghostscript文档可在以下位置找到:
http://svn.ghostscript.com/ghostscript/tags/ghostscript-9.02/doc/Ps2pdf.htm
对于当前版本的PostScript到PDF的转换(打印您的JPEG到一个PostScript文件再开始)。
如果您的原始文件是JPEG,那么最好的质量输出将是什么都不做,只需用PDF语法包装它即可。
如果您坚持对图像数据进行下采样(这是减小JPEG图像大小的唯一方法),则建议您不要在PDF文件中使用DCT (JPEG)压缩,因为这会引入令人反感的伪像。
你应该使用无损压缩方案,例如*"Flate“。
你最好的办法是返回到没有存储为JPEG的原始图像,在一个像样的图像应用程序中进行下采样,然后转换为JPEG并将其包装在PDF中。
发布于 2011-09-02 01:50:16
Docotic.Pdf library可以用来添加JPEG(有或没有重新压缩)到PDF。
请先看一下显示how to recompress images的示例,然后再添加到PDF中。在这个库的帮助下,你也可以重新压缩现有的图像。
免责声明:我为Bit Miracle工作,该库的供应商。
发布于 2011-05-06 23:33:32
如果你可以在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的底层。
https://stackoverflow.com/questions/5892852
复制相似问题