我在 Mac 应用程序(Xcode 11.7、10.15 部署目标)中使用 PDFKit 来查看 pdf。用户可以突出显示选择并复制文本或创建引号。
对于某些 pdf,我无法获得正确的突出显示字符串内容。
获取以下 pdf:https ://www.irs.gov/pub/irs-pdf/iw8bene.pdf 。例如,如果它在预览中打开,则可以将内容复制并粘贴到 TextEdit 中。
如果我用 PDFView 打开这个 pdf,只能复制和粘贴一些文本(例如主标题),但正文只粘贴复制的空格!我没有自定义代码来处理我的 PDFView 上的副本。
如果我在突出显示文档时评估当前的 PDFSelection,我会在字符串中得到空格和无意义的字符:
for character in pdfSelection.string!.unicodeScalars {
print(character.value)
}
示例结果:
32
1113109
1113135
1113135
1113109
32
1113118
1113091
32
不管有什么问题,标准的复制代码也违反了它,所以也许我缺少 PDFView 或 PDFDocument 上的一些设置问题?我只需在 Interface Builder 中创建一个 PDFView,然后打开一个带有 URL 的 PDFDocument 并将其设置在视图上。