减小 pdf 大小 - Objective c

2023-12-02

我有一个pdf生成项目,它由一些文本和一个已存储在数据库中的图像组成,我想预览并邮寄生成的pdf,当只有文本数据时一切正常。

如果我们的数据中有图像,就会出现问题。邮件收到 大小为 10MB 或以上的 pdf,即使它具有大小为 1MB 或以下的图像。它在模拟器中工作正常。我的绘制图像的代码如下所示:

        UIImage *plotImage=[[UIImage alloc]initWithContentsOfFile:[localPictureArray objectAtIndex:i]];                  
                CGSize imageSize=plotImage.size;
                CGFloat scaleFactor = 1.0;        

        if (imageSize.height>(maxHeight-currentPageY) || imageSize.width>maxWidth ) 
        {
           UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, kDefaultPageWidth, kDefaultPageHeight), nil);
           currentPageY = kMargin;

           if (!((scaleFactor = (maxWidth / imageSize.width)) > ((maxHeight-currentPageY) / imageSize.height)))
            { 
            scaleFactor = (maxHeight-currentPageY) /imageSize.height; 
            // scale to fit heigth. 
            }

           CGRect rect = CGRectMake(kMargin,currentPageY,
           imageSize.width * scaleFactor, imageSize.height * scaleFactor);
           //Draw the image into the rect
           [plotImage drawInRect:rect];
         }

  else
      {
        plotImage drawInRect:normal size)];//Normal size we need
        NSLog(@"%@",NSStringFromCGSize(plotImage.size));
      }

由于我是初学者,我正在努力解决它。


我挣扎了很多..最后当使用下面的代码将jpeg格式的图像写入pdf页面时,大小减少了十倍!不知道这是正确的方法...

UIImage *lowResImage = [UIImage imageWithData:UIImageJPEGRepresentation(plotImage, 0.02)];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

减小 pdf 大小 - Objective c 的相关文章

  • 在 iOS 中管理和解除多个视图控制器

    我是一名 iPhone 新手程序员 在开发我的第一个游戏 应用程序时 我为自己提出了一个问题 创造了一个问题 我对此进行了研究 并认为我已经看到了答案 但我不明白如何使它们适用于我的应用程序 我有一个游戏 有几个视图控制器 欢迎 玩 高分
  • 跟踪所有 ObjC 方法调用?

    有时 当查看别人的大型 Objective C 程序时 很难知道从哪里开始 在这种情况下 我认为记录对每个非 Apple 方法的每次调用会很有帮助 有没有办法做到这一点 基本上 在某个中心位置进行一项更改 并记录调用的每个方法 最好仅限于非
  • 从 Plist 中存储和检索 [重复]

    这个问题在这里已经有答案了 可能的重复 iOS 在 plist 文件中存储两个 NSMutableArray https stackoverflow com questions 6070568 ios store two nsmutable
  • Swift 数组设置索引值不起作用

    我有一个方法 下面的内容 其中queue2只是一个 Int 我打印了很多东西 看看一切是否都正常 public func cool item Int println item println back queue2 insert item
  • iOS:弃用 AudioSessionInitialize 和 AudioSessionSetProperty

    我对 Objective C 很陌生 正在尝试更新一些大约 3 年前的代码以与 iOS 7 一起使用 有两两个实例AudioSessionSetProperty and AudioSessionInitialize出现在代码中 1 void
  • iOS Swift 检测键盘事件

    我能以某种方式检测来自 iOS 键盘的事件吗 我想检测此类事件UIViewController哪个没有UITextField或任何此类物体 我只有四个圆圈UIView我想在按下键盘上的按钮时将它们涂成不同的颜色 您没有任何对象可以从键盘获取
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • iOS 解决方案仅当图像尚未使用 SDWebImage 缓存在内存中时才加载带有动画的图像

    我已经为这个问题苦苦挣扎了几天 以前我使用 AFNetworking 类别来加载和缓存图像 但它的回调中没有提供缓存类型 所以我过去常常在每个控制器中跟踪哪些图像已经加载 我浏览了 SDWebImage 它提供了我正在寻找的东西 SDIma
  • 使用 UIImagePickerController 的应用程序在拍照后选择“使用照片”时冻结

    我现在正在开发一个简单的照片和视频捕获应用程序 该应用程序成功地允许用户按下按钮即可拍摄照片或视频 但是 一旦您完成拍摄照片或视频 它就会提供 2 个选项 重新拍摄 和 使用照片 或 使用视频 具体取决于您使用的选项 如果用户点击 重新拍摄
  • iOS 开发: [[self navigationController] viewControllers]; 有哪些原因?会返回零吗?

    以下语句返回零 NSArray viewControllersInNavStack self navigationController viewControllers 这个语句是在导航堆栈中大约四层深度的视图控制器中调用的 所以我不明白它如
  • 使用隐藏的 SFSafariViewController 获取 Safari cookie

    我正在阅读以下关于从移动网页到本机 iOS 9 应用程序对用户进行身份验证的文章 并且想知道如何最好地实现类似于下面讨论的隐藏控制器的隐藏 safari 视图控制器 https library launchkit io how ios 9
  • 对 UIImage 进行方形裁剪,导致图像拉伸

    当尝试执行 UIImage 的中心裁剪时 我得到以下结果 左侧是原始图像640 1136 右边是适合正方形的裁剪图像UIImageView at 320 320 turns to 我对比率元素进行了相当多的修改 以便它可以正确检测要修剪的量
  • 切换到工作区并在 Xcode 中添加 CocoaPods 后提交 git 吗?

    我刚刚在 Xcode 5 中将 CocoaPods 添加到我当前的项目中 当然 CocoaPods 创建了一个工作区 并且我已在 Xcode 中启动了该工作区 我在工作区中看到了我的项目和 Pods 项目 我的项目从第一天起就处于源代码控制
  • iPad 3 中配备 Xcode 4.2 和 Retina 的 iOS 5.1

    我有一台装有 Mac OS X Snow Leopard 的 Mac 我可以添加 iOS 5 1 吗 使用 iPad 3 的新分辨率 我们将如何处理图像 因为如果该应用程序将在 iPhone 3GS 4 和 iPad 3 中运行 我认为我们
  • 在WKWebview中设置useragent

    如何在 WKWebView 中设置自定义用户代理字符串 我正在尝试嵌入我的应用程序的版本 以便我的服务器端可以看到可用的功能 我找到了以下方法 let userAgent MyApp 1 33 7 request setValue user
  • 从 NSError 返回 NSString

    我正在使用NSURLRequest我的 iPhone 应用程序中的类 调用它的方法返回一个NSString这对于连接正常时非常有用 但问题是我需要将 NSError 转换为 NSString 以便我可以将其返回或运行一些if 对此的声明 有
  • 如果 NSExtensionActivationRule 设置为仅音频,则共享扩展不会出现在有功能的应用程序中

    我正在尝试创建一个共享扩展 用户可以从任何有能力的应用程序上传她的录音 该文档甚至有一个简单的示例 请参阅声明共享或操作扩展支持的数据类型 https developer apple com library content document
  • 如何在 Xcode 4 中通过一个操作归档多个目标

    我有一个包含多个目标的项目 这些目标都适用于不同的 iOS 应用程序 例如 一个用于精简版的目标 另一个用于专业版的目标 我想立即构建并归档我的所有应用程序 目前 我对每个目标都有一个方案 我用它来独立归档每个应用程序 但现在我必须开始归档
  • UIImage:如何获取网站选项卡图标

    我正在开发一个 RSS 阅读器 我需要获取每个提要的图标 例如 如果我的提要是 google com 我想获取 G 图标并将其放入 UIImage 或其他内容中 关于如何实现这一目标有什么想法吗 最简单的方法是使用 Google NSStr
  • Objective-c中的贝塞尔曲线算法

    比我聪明的人可以看一下这个吗 我正在尝试实现我发现的贝塞尔曲线算法here http webtweakers com swag GRAPHICS 0074 PAS html在 Objective c 中 输出是错误的 我想我正确地转换了代码

随机推荐

  • 使用 VBscript 访问 JSON 数据中的所有值

    我必须做一些 vbscript 来处理来自网络服务器的 json 格式的输出 我正在使用我发现的一个名为 aspJSON 的旧 vbscript 代码片段 我认为它来自 www aspjson com 但该网站不再可用 我有这个 JSON
  • 将小数分隔符从“,”(逗号)转换为“.” (点)例如“7,5”至“7.5”

    是的 我知道 这些是本地化设置 但我不会告诉我的客户只更改我的应用程序的本地化设置 那么如何转换这些数字呢 或者如何更改给定范围的数字格式 那里需要点 用户可以输入逗号或点 甚至是逗号分隔的数字 例如 1 000 000 00 编辑 通过
  • 相当于 HTML 中的 include()

    我想知道是否有一种方法可以仅使用 html 将一些 html 内容包含在另一个 html 中 PHP 的替代品 这可能吗 EDIT 这引起了一些混乱 我需要的是 几乎是一个 html 标签 它具有将 html 文档包含在另一个文档中的功能
  • (PySpark)reduceByKey 之后的嵌套列表

    我确信这是非常简单的事情 但我没有找到与此相关的任何内容 我的代码很简单 stream stream map mapper stream stream reduceByKey reducer 没什么特别的 输出如下所示 key1 value
  • Git Shell 中的 Meteor (mingw)

    我正在尝试为 Meteor JS 编写教程 但无法使用 Windows 版 Github 附带的 Git Shell 使其正常工作 它找不到流星命令 它在cmd中运行 并且位于Windows环境路径中 我究竟做错了什么 运行一个 bat来自
  • 滚动android时列表视图项目改变位置?

    在我的应用程序中 我使用了自定义列表视图适配器 在列表视图项中我添加了另一个布局 因为在我的服务中 一个订单有任意数量的订单项目 为了显示订单项目 我将下面的订单项目布局添加到自定义列表视图项目中 它工作正常 但是当滚动列表视图时 数据会发
  • 快速找到另一张大图像中的较小图像

    不管怎样 让这件事进展得更快 因为现在源图像大小为 1024x768 模板大小为 50x50 大约需要 6 秒 这是使用AForge 如果有人知道其他更快且更简单的方法 请提交 我想做的任务是在屏幕截图中找到较小的图像 最好快一点 我的限制
  • 赋值的左侧必须是变量、属性或索引器

    我收到错误 但不知道为什么 static void decoupeTableau IEnumerable
  • Java JApplet 到 JFrame

    我想将 JApplet 转换为 JFrame 我在互联网上找到了这个代码 它是一个单词搜索游戏 我想在课程演示中使用此代码 但我不想把它放在小程序中 我要粘贴到此处的代码大约有 7 000 个字符 我尝试采用 JApplet 并扩展 JFr
  • Julia 中的逻辑索引

    在 MATLAB 中 要删除矩阵中具有 NaN 值的所有行 我编写了以下代码 myMatrix any isnan myMatrix 2 Where any isnan myMatrix 2 返回逻辑向量 我有办法在朱莉娅做到这一点吗 我似
  • Android Studio 任务“:app:preDexDebug”执行失败[重复]

    这个问题在这里已经有答案了 我的构建应用程序正在发生这种奇怪的行为 奇怪的是 这个com nineoldandroids是一个来自android资源库的jar 我尝试删除构建源并再次重新编译 但没有成功 我的构建等级 buildscript
  • 如何修复 int.Parse 中的 ArgumentNullException?

    这是在 Mono 中运行良好的 cs 文件 using System public class HelloWorld static public void Main Console WriteLine Enter a number int
  • 函数“sleep()”的正确 #include 是什么?

    我正在使用 Big Nerd Ranch 的书 Objective C 编程 它首先让我们在前几章中用 C 编写 在我创建的一个程序中 我使用了睡眠功能 书上告诉我要放 include
  • SockJs - 未找到“信息”路径

    我正在运行一个SockJS 的示例 运行 npm install 一切正常 Start server没有问题 当我第一次加载时测试页 我看到 404 调用失败http 127 0 0 1 echo info 我正在查看 sockjs 代码
  • 如何调用Android联系人列表?

    我正在制作一个 Android 应用程序 需要调用手机的联系人列表 我需要调用联系人列表功能 选择一个联系人 然后返回我的应用程序并显示该联系人的姓名 这是我在互联网上获得的代码 但它不起作用 import android app List
  • Windows Phone 8.1 中的 AutoSuggestBox 出现奇怪的结果

    我正在尝试使用标准AutoSuggestBox在 Windows Phone 8 1 XAML 应用程序中 但它的行为非常奇怪 在一个简单的演示中 我收集了 Items new ObservableCollection
  • Android - 加快在数据库中插入数据的速度

    我目前有一个 CSV 文件 我正在解析该文件 并尝试将数据插入到 android 数据库中 我遇到的问题是插入所有数据花费的时间太长 数据量很大 但我觉得不需要 20 分钟左右就能完成 基本上 我创建数据库 然后开始解析 在解析每个单独的
  • CameraSource .setAutoFocusEnabled(true) 返回:尽管设备支持自动对焦,但该设备不支持相机自动对焦

    下面是我的条形码扫描仪活动 除了 setAutoFocusEnabled true 之外 一切正常 它在运行时返回一条消息 显示我的设备不支持自动对焦 尽管 Samsung Tab E T561 是支持自动对焦的设备 import andr
  • 如何使用 R 和 ggplot 绘制逻辑回归模型的结果

    creat a new data frame and add a binary column called surv24 leukemia data lt data frame wbc leuk wbc ag leuk ag time le
  • 减小 pdf 大小 - Objective c

    我有一个pdf生成项目 它由一些文本和一个已存储在数据库中的图像组成 我想预览并邮寄生成的pdf 当只有文本数据时一切正常 如果我们的数据中有图像 就会出现问题 邮件收到 大小为 10MB 或以上的 pdf 即使它具有大小为 1MB 或以下