如何解决VNDocumentCameraScan到可搜索的PDF
在PDFDocument
的帮助下获得VNDocumentCameraScan
之后,我目前正在尝试创建可搜索的VNDocumentCameraViewController
。
当前,我仅拍摄扫描图像并将其放入PDFDocument
实例中。
func documentCameraViewController(_ controller: VNDocumentCameraViewController,didFinishWith scan: VNDocumentCameraScan) {
let pdf = createPDF(from: scan)
}
fileprivate func createPDF(from scan: VNDocumentCameraScan) -> PDFDocument {
let pdfDocument = PDFDocument()
for i in 0 ..< scan.pageCount {
let pdfPage = PDFPage(image: scan.imageOfPage(at: i))
pdfDocument.insert(pdfPage!,at: i)
}
return pdfDocument
}
我也知道如何从VNDocumentCameraScan
中提取文本。我想念的是如何将文本信息合并到PDFDocument
实例中。我需要这样做是因为我想扫描文档,将它们另存为.pdf
到文件系统中,然后再搜索。
我进行了很多搜索,但没有找到解决方法。
有人知道我将如何做到这一点吗?
解决方法
这篇博文详细介绍了该主题。我正在链接到系列的第 3 部分,因为它解决了您遇到的流程部分。
https://alexanderweiss.dev/blog/2021-03-29-from-uiimage-to-searchable-pdf-part-3
主要思想是在 pdf 中的图像下方绘制识别的文本。文章中的基本步骤:
- 拍照
- 识别图片上的文字
- 创建具有图像尺寸的 PDF 页面
- 使用识别的文本绘制文本
- 在 pdf 上的文本上方绘制图像
VNRecognizedText 包含有关已识别文本位置的信息,可让您确定在何处绘制文本。我能够在我的应用程序中成功使用这篇文章中的代码;尽管在处理手写文本时它不是 100% 完美,但它运行得相当好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。