ios - 将 pdf 文档保存到 iOS 文件应用程序时如何指定文件名?

标签 ios uiactivityviewcontroller ios-pdfkit files-app

使用 PDFKit 我在我的应用程序中创建了一个 pdf 文档。我可以在预览中成功显示它,并从预览 Controller 中使用以下代码向用户显示共享操作:

@objc func shareAction(_ sender: UIBarButtonItem)
{
    if let data = documentData
    {
        let vc = UIActivityViewController(activityItems: [data], applicationActivities: [])
        present(vc, animated: true, completion: nil     
    }
}

documentData 包含创建的 pdf 文档。

当用户选择“保存到文件”时,文档将获得默认名称“PDF Document.pdf”,用户可以更改该名称。

如何提供不同的默认文件名?

最佳答案

不是真正的答案,而是我想出的解决方法:

与其使用 PDF 的内存复制 data,不如将其写入应用程序的 tmp 文件夹:

var fileURL : URL?
do
{
    let filename = "myfilename.pdf"
    let tmpDirectory = FileManager.default.temporaryDirectory
    fileURL = tmpDirectory.appendingPathComponent(filename)
    try data.write(to: fileURL!)
}
catch
{
    print ("Cannot write PDF: \(error)")
}

然后分享操作看起来像:

@objc func shareAction(_ sender: UIBarButtonItem)
{
    if let url = fileURL
    {
        let vc = UIActivityViewController(activityItems: [url], applicationActivities: [])
        present(vc, animated: true, completion: nil     
    }
}

现在,当用户选择“保存到文件”操作时,“myfilename.pdf”显示为默认文件名。

关于ios - 将 pdf 文档保存到 iOS 文件应用程序时如何指定文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58936545/

相关文章:

ios - 在 Swift 中从另一个 View Controller 呈现子类 View Controller

ios - 在viewdidload中加载后不要重新添加mapview

ios - 居中 UIButton,旁边有图像

ios - 如何删除突出显示的 pdf 注释?

ios - 如何在PDFView中呈现单页pdf文档,使文档居中完整呈现?

ios - PDFKit : How to move current page in PDFView to a specific offset

ios - 应用安装失败是什么意思

ios - UIActivityViewController 在 whatsapp 和所有共享选项上共享文本

ios - UIActivityViewController 中的 "Open in"功能

iOS : Share with UIActivityViewController & Default applications