跳到内容
  • 福昕首页
  • 开发中心
  • 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试用

相关内容

PDF流式编辑,改文字自动重排版

PPT转PDF后如何改文字?不用重做PPT也能改!

多篇文献批量搜关键词,一键高亮导出,效率拉满!

使用工具去除PDF水印是否合法?

Linux版本中如何实现OFD与PDF格式互转

Linux版本中如何自动创建书签(需要2025.1版本)

Linux版本中如何实现在文档中进行手写签名

Linux版本中如何实现文档交叉合并功能(需要2025.1版本)

Linux版本中如何实现同个窗口并排查看两个文档

Linux版本中如何打印OFD格式文档(需要2025.2版本)

推荐内容

PDF流式编辑,改文字自动重排版

PPT转PDF后如何改文字?不用重做PPT也能改!

多篇文献批量搜关键词,一键高亮导出,效率拉满!

使用工具去除PDF水印是否合法?

Linux版本中如何实现OFD与PDF格式互转

Linux版本中如何自动创建书签(需要2025.1版本)

Linux版本中如何实现在文档中进行手写签名

Linux版本中如何实现文档交叉合并功能(需要2025.1版本)

Linux版本中如何实现同个窗口并排查看两个文档

Linux版本中如何打印OFD格式文档(需要2025.2版本)

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

销售咨询:010-50951668

客服电话:0591-38509808

销售咨询
微信公众号

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

隐私策略