跳到内容
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 插件商店
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 插件商店
申请试用
  • 企业自动化
    • Compressor
  • 福昕CloudAPI
  • 福昕PDF SDK 软件开发工具包
    • 福昕PDF SDK(ActiveX)
    • 福昕PDF SDK(桌面/服务器)
    • 福昕PDF SDK(Plug-in)
    • 福昕 PDF SDK(安卓)
    • 福昕PDF SDK(iOS)
    • 福昕PDF SDK(Web)
  • 福昕管理控制台
    • 公有云
    • 私有云
    • 通用情况
  • 福昕阅读器
    • RMS插件
  • 福昕高级编辑器
    • AI助手
    • Mac版本
      • 常规问题
    • Windows版本
      • 表单
      • ECM集成
      • 互联PDF
      • 企业管理指南
      • 保护
      • 内容编辑
      • 创建PDF
      • 压缩
      • 图章
      • 安装与卸载
      • 常见问题
      • 打印
      • 注释/评论
      • 福昕插件
      • 翻译助手
      • 翻译助手教程
      • 试用与激活
      • 转换
      • 页面管理
    • 教育用户
      • 论文查重
      • 论文畅
      • 操作指南
    • 网页版
      • Foxit eSign
      • 电子签章
    • 订阅
    • 资源
  • 福昕高级编辑器Linux版本
  • 福船图纸管理系统
  • 福昕PDF SDK 软件开发工具包 > 福昕PDF SDK(iOS)
  • 标签:
  • iOS开发,PDF截图,区域剪裁,坐标转换,指定区域截图,渲染,高亮提取

福昕PDF SDK 移动版: 如何对 PDF 指定区域进行精准截图?

  • 福昕知识库
  • 2026-05-12

本文基于 Foxit PDF 移动版 (iOS),以截取高亮注释(Highlight Annotation)为例,完整讲解从 PDF 坐标到屏幕显示坐标的转换流程,并提供可直接使用的截图代码。

适用版本:Foxit PDF 移动版 (iOS) 所有主流版本

核心步骤

1. 坐标转换:PDF 坐标系与屏幕坐标系不同,需通过 SDK 接口转换。示例代码如下:

    FSAnnot* annot = [page getAnnot:0];
FSRectF *rectF = [annot getRect];

// PDF坐标 → 页面视图坐标 → 屏幕显示坐标
CGRect rect1 = [self.pdfViewCtrl convertPdfRectToPageViewRect:rectF 
                                                     pageIndex:[[annot getPage] getIndex]];
CGRect rect2 = [self.pdfViewCtrl convertPageViewRectToDisplayViewRect:rect1 
                                                            pageIndex:[[annot getPage] getIndex]];

2. 区域截图:基于转换后的屏幕坐标,对 PDF 渲染视图进行指定区域裁剪:

UIView *displayView = [self.pdfViewCtrl getDisplayView]; 
UIImage *img = [self captureView:displayView inRect:rect2];

- (UIImage *)captureView:(UIView *)targetView inRect:(CGRect)rect {
    CGFloat scale = [UIScreen mainScreen].scale;
    UIGraphicsBeginImageContextWithOptions(rect.size, NO, scale);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextTranslateCTM(context, -rect.origin.x, -rect.origin.y);
    [targetView.layer renderInContext:context];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}

适用场景:

  • 截取 PDF 高亮、下划线、批注等注释区域
  • 截取表单填写区域
  • 截取PDF中任意指定位置

常见问题

问题解决方法
截图位置偏移确保完成两步坐标转换
截图模糊使用 UIGraphicsBeginImageContextWithOptions 并传入屏幕 scale
截图黑屏/空白先调用 goToRect 滚动到目标区域

输出结果

成功返回 UIImage 对象,可保存、分享或二次编辑。

免费获取SDK试用

相关内容

软件激活时提示您当前使用的是福听永久版,但无法登录该如何处理

福昕AI助手:如何同时提问多份PDF文档?

福昕PDF转Word/Excel/PPT,格式不乱码,真香!

使用系统可用字体

允许富文本格式

安装时提示无法将值写入注册表

如何创建副本

福昕高级PDF编辑器如何使用放大镜功能

福昕高级PDF编辑器专业版如何实现文档批量转换成其他格式

福昕高级PDF编辑器专业版如何实现交叉引用功能

推荐内容

软件激活时提示您当前使用的是福听永久版,但无法登录该如何处理

福昕AI助手:如何同时提问多份PDF文档?

福昕PDF转Word/Excel/PPT,格式不乱码,真香!

使用系统可用字体

允许富文本格式

安装时提示无法将值写入注册表

如何创建副本

福昕高级PDF编辑器如何使用放大镜功能

福昕高级PDF编辑器专业版如何实现文档批量转换成其他格式

福昕高级PDF编辑器专业版如何实现交叉引用功能

产品
  • 应用行业
  • 白皮书
开发支持
  • 开发中心
  • SDK文档资料

销售咨询:010-50951668

客服电话:0591-38509808

销售咨询
微信公众号

©2026 福建福昕软件开发股份有限公司 版权所有

隐私策略