Ios 使用Apple';PDFKit框架
我知道,在苹果的PDFKit中,我可以得到“string”,它返回一个NSString对象,表示页面上的文本。Ios 使用Apple';PDFKit框架,ios,xcode,macos,pdf,Ios,Xcode,Macos,Pdf,我知道,在苹果的PDFKit中,我可以得到“string”,它返回一个NSString对象,表示页面上的文本。 有没有办法更改PDF中的文本?如果没有,您建议我如何着手研究如何编辑PDF中的文本?谢谢大家! 要了解您真正的问题,您需要更多地了解PDF的工作原理。 首先,PDF更像是(绘图、渲染)指令的容器,而不是内容的容器 PDF有两种风格。有标记和无标记。带标签的PDF本质上是一个普通的PDF文档+一个树状数据结构,它告诉您文档的哪些部分构成了哪些逻辑元素 与包含逻辑结构的HTML类似,标记
有没有办法更改PDF中的文本?如果没有,您建议我如何着手研究如何编辑PDF中的文本?谢谢大家! 要了解您真正的问题,您需要更多地了解PDF的工作原理。 首先,PDF更像是(绘图、渲染)指令的容器,而不是内容的容器 PDF有两种风格。有标记和无标记。带标签的PDF本质上是一个普通的PDF文档+一个树状数据结构,它告诉您文档的哪些部分构成了哪些逻辑元素 与包含逻辑结构的HTML类似,标记标记段落、列表中的项目符号、表中的行等 如果您有一个未标记的文档,基本上只剩下简单的呈现说明 转到位置50,50
将字体设置为Arial
将字体颜色设置为0,颜色空间设置为灰度
为“H”绘制图示符
转到位置60、50
为“e”绘制图示符 像这样的指令被收集到对象中。可以将对象收集到流中。流可以被压缩。指令和对象不需要以任何逻辑顺序出现 拥有对象意味着你可以重复使用某些东西。就像在公司信笺的每一页上画一幅图像。或类似“使用对象456中的字体”的说明 为了能够处理这些对象,每个对象都有一个数字。文件中对象、对象编号和字节偏移量的映射存储在文档的后面。这称为外部参照表 外部参照
152 42
00000001600000N
000000 1240 00000n
000000 21330万n
000000 2296 00000n
000000 2344 00000n
000000 2380 00000n
000000 2551 00000 n 现在,回到你的问题上来。 假设你把一个单词“狗”改为一个单词“猫” 您会遇到几个问题:
- 文档中的每个字节偏移量突然出错,因为“cats”包含4个字节,“dog”包含3个字节
- 找不到对象,所有指令都出错
- 如果在任何一点上,替换导致文本偏离对齐太远,则需要再次执行布局