ios - QuickLook/QLPreviewController PDF Text Annotation 背景变黑,字体变小
问题描述
我QLPreviewController
用于编辑 PDF。一切正常,但是如果我从 QLPreviewController 添加文本注释并单击完成按钮,它会按预期工作,我将获得带有已编辑 PDF 的 URL,如果我进行其他更改,例如从外部添加图像注释QLPreviewController
并保存该 pdf使用代码
self.pdfDocument.write(to: self.pdfUrl)
如果我在 QLPReviewController 中打开该 pdf 并点击先前添加的文本,则文本注释背景变为黑色,字体变小。我已附上视频,请查收。
**视频链接:** https://www.dropbox.com/s/m0ql1csr8pars3t/Issue_video.mov?dl=0
我已使用以下代码进行 pdf 标记
func openPreview(_ url : URL){
let previewController = QLPreviewController()
previewController.isEditing = true
previewController.delegate = self
self.pdfUrl = url
previewController.dataSource = self
previewController.modalPresentationStyle = .overFullScreen
self.present(previewController, animated: true, completion: nil)
}
extension ViewController : QLPreviewControllerDataSource,QLPreviewControllerDelegate{
func numberOfPreviewItems(in controller: QLPreviewController) -> Int {
return 1
}
func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
return self.pdfUrl as QLPreviewItem
}
func previewController(_ controller: QLPreviewController, editingModeFor previewItem: QLPreviewItem) -> QLPreviewItemEditingMode {
return .updateContents
}
func previewControllerWillDismiss(_ controller: QLPreviewController) {
}
func previewController(_ controller: QLPreviewController, didUpdateContentsOf previewItem: QLPreviewItem) {
DispatchQueue.main.async {
self.pdfUrl = previewItem.previewItemURL
self.setPDFFile()
self.pdfDocument.write(to: self.pdfUrl)
}
}
}
func setPDFFile(){
if let doc = PDFDocument(url: self.pdfUrl){
self.pdfDocument = doc
self.pdfView.document = doc
}
}
解决方案
推荐阅读
- javascript - 如何使用intersection-observer延迟加载html div标签?
- reactjs - Uncaught Invariant Violation:对象作为 React 子对象无效(发现:带有键 {$$typeof,render} 的对象)
- ios - 尝试初始化图像
- python - 由于未完成的子进程而无法读取文件:Python
- ios - 将价值传递给私有财产
- javascript - 如何让列表页面记住一些参数?
- oozie - 在 Oozie 中,就像 Actions 有重试选项一样,Workflow 级别是否有类似的选项?
- node.js - 检查电子邮件 ID 是否存在而不在 NodeJS 中发送电子邮件
- google-cloud-functions - 每个项目可以部署多少次功能?
- amazon-web-services - 当 lex 不自动处理意图时如何调用 lambda?