Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

980
Views
compartir archivo pdf usando UIActivityViewController en Swift 4

Estoy usando UIActivityViewController para compartir un archivo PDF:

 let pdfFilePath = URL(string: "https://www.tutorialspoint.com/swift/swift_tutorial.pdf") let pdfData = NSData(contentsOf: pdfFilePath!) let activityVC = UIActivityViewController(activityItems: [pdfData!], applicationActivities: nil) present(activityVC, animated: true, completion: nil)

Se muestra el siguiente resultado:

ingrese la descripción de la imagen aquí

Lo que quiero es mostrar más funciones como "copiar a Libros" y "Agregar a Notas" como las siguientes:

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Si desea compartir su archivo pdf que está en el servidor y tiene una URL. Luego, primero descarga ese archivo en su dispositivo y luego comparte ese archivo con cualquier otra persona.

Si usa Alamofire en su código, entonces hay un código.

estribo 1

 import Alamofire

estribo 2

Agregue esta función en su clase: -

 func downloadPdf(downloadUrl : String, fileName: String, completionHandler:@escaping(String, Bool)->()){ let destinationPath: DownloadRequest.DownloadFileDestination = { _, _ in let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]; let fileURL = documentsURL.appendingPathComponent("\(fileName).pdf") return (fileURL, [.removePreviousFile, .createIntermediateDirectories]) } print(downloadUrl) Alamofire.download(downloadUrl, to: destinationPath) .downloadProgress { progress in } .responseData { response in print("response: \(response)") switch response.result{ case .success: if response.destinationURL != nil, let filePath = response.destinationURL?.absoluteString { completionHandler(filePath, true) } break case .failure: completionHandler("", false) break } } }

estribo 3

Agrega esta acción en tu botón de compartir

 @IBAction func btnShareAction(_ sender: UIButton) { let myURL = "http://www.demo.com/demo.pdf" // change this with your URL self.downloadPdf(downloadUrl : myURL, fileName: "invoice") { (localFileUrl, bool) in let fileURL = NSURL(fileURLWithPath: localFileUrl) let activityViewController = UIActivityViewController(activityItems: [fileURL], applicationActivities: nil) self.present(activityViewController, animated: true, completion: nil) } }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!