在 iOS 中将 PDF 文本写入 PDFContext

2023-12-02

通过以下方式绘制到 pdf 上下文非常简单:

UIGraphicsBeginPDFContextToFile(pdfFile, CGRectZero, nil);
UIGraphicsBeginPDFPageWithInfo(sheet.frame, nil);    
CGContextRef ctx = UIGraphicsGetCurrentContext();

CGRect text_rect = ...
NSFont *font = ...
NSString * str = @"foo";
[str drawInRect:text_rect withFont:font];

...draw to context...

然而,文本显然是光栅化的......有没有办法实际添加pdf样式文本到pdf文件?所以用户可以选择它、复制它等等。可能通过核心图形以外的库?


这绝对是可能的。这是一个教程展示了如何在 iOS 5 中生成和显示带有文本的 PDF 文档。

当我下载并运行该项目时,放大时文本似乎没有被光栅化。当我在 OS X 中的“预览”中打开生成的 PDF 时,我可以选择并复制文本。

此示例使用 Core Text 将文本绘制到 CGContext 中。应该很容易改变+[PDFRenderer drawText]如果您想尝试,请尝试其他方法。

例如,我将其更改为使用与您类似的代码,并且运行良好:

CGRect text_rect = { 0, 100, 300, 50 };
UIFont *font = [UIFont systemFontOfSize:12];
NSString * str = @"Added foo bar";
[str drawInRect:text_rect withFont:font];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 iOS 中将 PDF 文本写入 PDFContext 的相关文章

  • 快速从 RSS feed 获取 img url

    我希望能够从一段字符串中检索 img url 以下是我尝试检索的 img URL 的示例 p img width 357 height 500 src http images sgcafe net 2015 05 OVA1 357x500
  • NSCF 数组越界?

    我有一个相当简单的应用程序 使用 Core Data 和几个数组控制器 在 IB 中 除了 xcdatamodel 文件之外 没有它们的代码文件 当我运行应用程序时 我在日志中收到以下错误 应用程序仍然运行 但在转到 文件 gt 新文档 之
  • UITableView 干扰状态栏

    我正在开发一个具有 UITableViewController 的应用程序 该应用程序显示值列表 如下所示 如何将表格向下移动 使其不会与状态栏冲突 看来我无法对这个场景施加任何限制 所以我不知所措 使用以下 3 个属性UIViewCont
  • 用于测试对象类型的通用 Swift 函数

    我正在尝试编写一个函数 该函数接受一个对象和一个类型作为参数 并返回一个布尔值 指示该对象是否属于给定类型 似乎没有 Type 类型 所以我不知道如何做到这一点 我能做的最好的就是 func objectIsType
  • 在文件输入上反应 PWA IOS/Safari 单击事件有时不打开菜单

    我们的 React PWA 应用程序有问题 我需要群体智能 从 2021 年 10 月开始 我们的部分 iOS 15 用户会出现以下问题 用户单击 触摸
  • 如何读取本地 JSON 文件进行测试

    我正在尝试编写用于 json 验证的单元测试 因为该应用程序严重依赖于来自 REST API 的 json 我有一个包含简单 json 的本地文件 goodFeaturedJson txt 内容 test TEST 测试用例 void te
  • 如何向选项卡栏控制器添加“入口点箭头”?

    In Xcode 6 2 beta I am able to make some view controllers such as View Controller or Navigation view controller the entr
  • 从 iPhone 上传图像/音频到服务器无法发送大图像

    我不知道这是我的iPhone代码还是服务器的问题 我正在使用 NSURLConnection 将图像 音频从 iPhone 上传到服务器 如果图像和音频的大小小于 60KB 则可以正常上传 如果超过 60KB 我会从服务器收到 400 Ba
  • Xcode 9.2 UIDocumentBrowserViewController:无法从 bookmarkableString 创建 url

    Update Xcode 9 3 已修复它 在创建 UIDocument 文件时UIDocumentBrowserViewController 默认 错误 无法解析书签 错误 错误域 NSFileProviderInternalErrorD
  • BLE (iBeacons) 三边测量

    我是德国富特旺根大学的学生 我已经进入最后一个学期了 现在正在写论文 我对 iBeacons 及其背后的技术非常感兴趣 我当前的项目是将信标技术与 GPS 无线定位 GSM 和 NFC 等其他技术进行比较 对于我的论文 我将创建不同的用例并
  • 我可以/如何确定设备是否有振动?

    我有一些设置可以启用 禁用某些操作的振动 但我发现如果设备没有振动能力 则显示它们毫无意义 有没有办法检查用户是否正在使用 iPod touch 以及它是否有振动 我不确定除了进行模型检查之外还有其他方法可以做到这一点 这可能不是一个很好的
  • 在 UITableView 中进行分页的最佳方法

    我正在开发一个房地产应用程序 用户填写表单 最小房间数 价格等 后 应用程序查询数据源服务器 并获取具有特定键 值对 属性名称 属性地址 经度 纬度 价格等 的 json 字符串 我想做的是允许用户浏览 UITableView 中的列表 即
  • 在 Mac OS 10.14.2 上的 Python 3.7 中安装 JPype1 时出错

    我在系统中安装 JPype1 时遇到错误 我正在使用Python 3 7 JPype1 是 Jaydebeapi 的依赖项 pip install Jpype1 以下是错误消息 Collecting jpype1 Using cached
  • AVAssetExportSession.requestExportSession 回调从未被调用(swift 3,iOS10)

    以下代码从不调用导出回调 导出会话创建得很好 我没有看到任何错误 也没有任何进展 CPU 为 0 我认为没有例外 状态为 1 进行中 进度为 0 错误为零 视频在画廊中播放 我可以成功获取视频的图像 我已将代码提取到单个 UIViewCon
  • NSString cString 已弃用。还有什么选择呢?

    我还有一个新手问题 我编写了一段代码 将 NSString 转换为 NSMutableData 以模拟 webService 结果 然而事实证明 cString 已被弃用 你能帮我更换它吗 这是我的代码 NSString testXMLDa
  • 跨平台 IAP

    我已在 iOS 和 Android 中集成了应用内购买 自动续订订阅 两者都工作正常 我对使用跨平台验证 IAP 有一定的疑问 例如 当多个用户登录一个应用程序时 某一特定应用程序的订阅如何运作 例如 如果用户 A 有标准套餐并且从应用程序
  • 找出窗口中的 UIBarButtonItem 框架?

    UIBarButtonItem不延长UIView 所以没有像框架属性这样的东西 但有什么办法我可以得到它是什么CGRect框架 相对于应用程序UIWindow 你喜欢用吗私有API https stackoverflow com quest
  • DFP 问题:无广告可展示

    我的应用程序在 UIScrollView 中提供三个广告 通过 DoubleClick for Publisher 我使用旧版本的适用于 iOS 的 AdMob SDK 一切正常 我决定下载新版本 因为 AppStore 出现一些问题 添加
  • 使用 NSXMLParser 在 Swift 中解析分层 XML

    我确实在以我实际可以使用的形式获取分层 XML 值时遇到问题 因此我们将不胜感激 我对 Swift 和 IOS 开发还很陌生 所以说实话我并不完全理解解析器 但我希望在这之后我能理解 下面是我尝试解析的示例 XML 它来自肥皂网络服务 连接
  • 为 CocoaPods 插件设置 Xcode

    我正在尝试设置终端 Xcode 以便正确工作Xcode CocoaPods 插件 https github com kattrali cocoapods xcode plugin 当我从插件运行集成 cocoapods 选项时 我收到一条消

随机推荐

  • PHP 5.2.14 的 DateTime::CreateFromFormat [重复]

    这个问题在这里已经有答案了 我使用以下代码将用户输入转换为 mysql 时间戳 datetime DateTime createFromFormat m d Y g i a exp timestamp datetime gt format
  • 使用 Google Calendar API (PHP) 插入包含非 ASCII 字符的事件

    我在使用 Google Calendar API PHP v3 插入事件时遇到问题 如果事件的说明包含井号 等字符 则会在日历中创建该事件 但说明留空 似乎对于初始 7 位字符代码 ASCII 代码 0 127 之外的所有字符都是如此 通过
  • 更新 chromium 版本后量角器问题

    我刚刚更新了我的 chromium 版本 getAttribute 总是返回 null 有人知道为什么吗 在此更新之前工作正常 CHROMIUM REVISION 884014 element by id elementId getAttr
  • OpenGL ES 2.x:有什么方法可以重用深度缓冲区进行离屏和屏上渲染?

    我正在进行双通道渲染 第一通道我渲染到纹理 第二通道我渲染到屏幕 我在两次渲染过程中渲染相同的多边形 但使用不同的着色器 特别是 第二遍使用着色器 该着色器将第一遍生成的纹理作为参数 目前 我的第一遍有一个帧缓冲区 其中包含用于颜色附件的纹
  • 在Python中将字符串转换为变量名[重复]

    这个问题在这里已经有答案了 我有任何字符串 比如 水牛 x buffalo 我想将此字符串转换为某个变量名称 例如 buffalo 4 不仅是这个例子 我想将任何输入字符串转换为某个变量名称 我应该怎么做 在Python中 x buffal
  • 如何在 Eclipse 中从验证中排除特定文件夹或文件?

    我们在单元测试中使用了一堆格式错误的 XML 文件来检查我们的应用程序是否可以处理它们 Eclipse 将此 XML 文件标记为错误 从而污染 问题视图 有没有办法从 Eclipse 验证器中排除特定文件夹 在窗口 gt 首选项的验证部分中
  • NSDateFormatter 返回 nil

    我正在尝试解析以以下格式传递的日期 2014 03 26T05 07 42 14286Z My NSDateFormatter代码看起来像这样 NSDateFormatter dateFormatter NSDateFormatter al
  • 如何在 Bash 中测试变量是否为数字?

    我只是不知道如何确保传递给我的脚本的参数是数字还是不是数字 我想做的就是这样 test isnumber 1 VAR 1 echo need a number 有什么帮助吗 一种方法是使用正则表达式 如下所示 re 0 9 if yourn
  • C#/WPF 应用程序实现应用 CLI 的简单 IPC 机制

    所以我在 Net 上阅读了大量有关进程间通信的内容 命名管道 远程处理 这一切看起来都很棒 但对于我需要做的事情来说可能有点过分了 我想向我的 WPF 应用程序添加一个命令行界面 因此我需要一种简单的 IPC 机制来将字符串从一个进程发送到
  • DosBox 中的向量头文件

    我正在使用 DosBox 0 74 我想使用向量函数 但我找不到它的头文件 它不是
  • 如何在 Android 上使用 VPN API? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在探索 Android 中的 VPN 连接 我想知道如何使用应用程序在 Android 中设置 VPN 连接 我遇到了一些名为的示例代码ToyVpn 我运行了该应用程序 但我不知
  • testcafe 中其他几名跑步者的跑步大师?

    我有几个跑步者正在使用 Promise race 在特定时间完成测试用例 假设我有 runner1 js runner2 js runner3 js 如何创建主运行程序以便可以一起运行所有这些运行程序 const createTestCaf
  • 带有单引号和双引号的 bash 别名命令

    我有以下命令 svn status awk 1 M print 2 我如何用它来创建别名 我努力了 alias xx svn status awk 1 M print 2 你只需要正确地转义它 alias xxx svn status aw
  • 用户友好的错误页面在生产环境中不显示

    最近 我的生产环境中停止显示用户友好的错误页面 我正在使用 Rails 3 0 3 我的中有以下内容config environments production rb config action controller consider al
  • 调试在 dllhost.exe 中运行的 inproc com 服务器

    我正在编写一个在 dllhost exe 代理中运行的 inproc com dll 但在调试它时遇到了问题 如果同时运行多个 dllhost exe 找到正确的一个来附加调试器将会很烦人 如果有很多正在运行 有没有一种简单的方法可以识别您
  • 初学者从结构数组中删除第一个元素 (C)

    我有一个结构数组 实际上它是一个按优先级排序的堆数组 typedef struct char name MAX CHARACTERS 1 int priority person person p MAX HEAPSIZE 1 并想要删除数组
  • 使用 python 更快地搜索 Azure blob 名称?

    我有一个需要在 Azure 上搜索的文件名列表 现在 作为一个菜鸟 我正在循环每个 blob 名称并比较字符串 但我认为必须有最简单 快速的方法来完成此任务 当前的解决方案使我的 HTTP 响应非常慢 def ifblob exists s
  • 为什么 var_dump 可以确定私有变量的值,但在尝试访问单个属性时却不能

    我有一个对象被扔到会话数组中 我想运行 foreach 在 items 属性上 我似乎无法访问它 我看到它是私有的 但我忍不住想知道为什么 var dump 可以向我显示该属性包含的内容 但我无法读取数据 因为它会引发致命错误 我想如果我真
  • ruby on Rails 中的 Bootstrap 模式不起作用

    我正在尝试实现一个模式来为我的应用程序创建新用户 由于某种原因无法使其工作 这段代码只是淡入淡出 并且没有显示任何模式 我不明白为什么 事实上 我正在使用与此答案完全相同的代码如何使用 link to 添加引导模式 以便链接内容在模式中打开
  • 在 iOS 中将 PDF 文本写入 PDFContext

    通过以下方式绘制到 pdf 上下文非常简单 UIGraphicsBeginPDFContextToFile pdfFile CGRectZero nil UIGraphicsBeginPDFPageWithInfo sheet frame