我可以对iOS上生成的pdf文件中的图像使用JPEG压缩吗?

wor*_*rbg 4 pdf iphone ipad ios

目前我正在处理我有pdf文件的问题,其中包含大量1024x768图像,并且我正在尝试优化pdf的文件大小,但我认为现在唯一的解决方案是使用jpeg压缩来压缩图像.问题是我没有找到任何方法来使用iOS API.我错过了什么,有办法吗?我欢迎提出如何使用其他方法优化pdf的建议(降低图像的分辨率对我来说不是一个好的解决方案).

编辑:如果有人知道在iOS上用于pdf生成的另一个API - 链接将非常感激.

提前致谢.

小智 6

实际上你可以使用UIImageJPEGRepresentation.但是还有另一个步骤,然后使用JPEG数据提供程序绘制图像:

NSData *jpegData = UIImageJPEGRepresentation(sourceImage, 0.75);
CGDataProviderRef dp = CGDataProviderCreateWithCFData((__bridge CFDataRef)jpegData);
CGImageRef cgImage = CGImageCreateWithJPEGDataProvider(dp, NULL, true, kCGRenderingIntentDefault);
[[UIImage imageWithCGImage:cgImage] drawInRect:drawRect];
Run Code Online (Sandbox Code Playgroud)

在绘制到PDF上下文时,这对我很有用.0.75压缩质量使我的图像载PDF的大小减少了大约75%,它看起来仍然很好.


wor*_*rbg 1

如果有人感兴趣,我通过使用免费的 pdf 库 - libHaru 找到了解决我的问题的方法。它为我提供了将 JPEG 压缩图像添加到生成的 pdf 文件中所需的功能。

  • 您介意向我们提供您使用 libHaru 的解决方案的代码片段吗? (2认同)