gpt4 book ai didi

ios - 在 iPhone 上访问创建的 pdf 文件

转载 作者:行者123 更新时间:2023-11-28 06:30:54 26 4
gpt4 key购买 nike

我可以创建 pdf 文件,但在 iPhone 设备上找不到创建的文件。当我在模拟器上运行它时,可以找到它保存的目录。我必须将它保存在哪里才能在 iPhone 上预览?

这是创建pdf文件的代码:

func createPDF() {
let html = "<b>Hello <i>World!</i></b> <p>Generate PDF file from HTML in Swift</p>"
let fmt = UIMarkupTextPrintFormatter(markupText: html)

// 2. Assign print formatter to UIPrintPageRenderer

let render = UIPrintPageRenderer()
render.addPrintFormatter(fmt, startingAtPageAtIndex: 0)

// 3. Assign paperRect and printableRect

let page = CGRect(x: 0, y: 0, width: 595.2, height: 841.8) // A4, 72 dpi
let printable = CGRectInset(page, 0, 0)

render.setValue(NSValue(CGRect: page), forKey: "paperRect")
render.setValue(NSValue(CGRect: printable), forKey: "printableRect")

// 4. Create PDF context and draw

let pdfData = NSMutableData()
UIGraphicsBeginPDFContextToData(pdfData, CGRectZero, nil)

for i in 1...render.numberOfPages() {

UIGraphicsBeginPDFPage();
let bounds = UIGraphicsGetPDFContextBounds()
render.drawPageAtIndex(i - 1, inRect: bounds)
}

UIGraphicsEndPDFContext();

// 5. Save PDF file

let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]

pdfData.writeToFile("\(documentsPath)/file.pdf", atomically: true)
}

最佳答案

如果你想预览它,你需要在你自己的应用程序中以你自己的 View 租用,或者以其他方式将该 pdf 分享到其他应用程序,比如通过电子邮件、whatsapp、pages 应用程序或任何其他应用程序分享它。

要共享该 pdf,您可以使用 UIActivityViewController

在这里,我添加了与 objective-c 相同的代码,您可以根据需要将其转换为 swift。

NSString *pdfFilePath = [documentsPath stringByAppendingPathComponent:@"file.pdf"];
NSURL *URL = [NSURL fileURLWithPath:pdfFilePath];

UIActivityViewController *activityViewController =
[[UIActivityViewController alloc] initWithActivityItems:@[@"My PDF File", URL]
applicationActivities:nil];
[self presentViewController:activityViewController
animated:YES
completion:^{
}];

Swift 3.0 代码如下:

    let pdfFilePath = "path to file.pdf";
let url = NSURL.fileURL(withPath: pdfFilePath);
let activityVC = UIActivityViewController(activityItems: ["My Pdf File",url], applicationActivities: nil)
self.present(activityVC, animated: true, completion: nil);

关于ios - 在 iPhone 上访问创建的 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40376031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com