我正在尝试使用新的iOS 11框架pdfkit打开PDF文件。
但我无法做到这一点。
帮助我使用pdfkit框架打开文件。
先谢谢你。
答案 0 :(得分:6)
对于新的PDFKit,
您需要import PDFKit
然后创建PDFView视图并提供PDFDocument来查看文档。请查看以下代码以供参考。
let pdfView = PDFView(frame: self.view.bounds)
let url = Bundle.main.url(forResource: "pdfFile", withExtension: "pdf")
pdfView.document = PDFDocument(url: url!)
self.view.addSubview(pdfView)
答案 1 :(得分:5)
这是基于Objective-C的示例
导入框架标题
#import <PDFKit/PDFKit.h>
创建PDFDocument实例。就我而言,它使用的是NSURL
// fileURL is NSURL file path instance created using base64 pdf content
PDFDocument *pdfDocument = [[PDFDocument alloc] initWithURL:fileURL];
创建PDFView实例并将pdfDocument文档分配给它
PDFView *pdfView = [[PDFView alloc] initWithFrame:CGRectMake(0, 0, 500, 500)];
pdfView.document = pdfDocument;
pdfView.displayMode = kPDFDisplaySinglePageContinuous;
pdfView.autoScales = true;
pdfView.layer.borderWidth = 2;
pdfView.layer.borderColor = [UIColor blueColor].CGColor;
正如其他许多人所做的那样,我们使用webview来展示PDF内容并与之互动。通过阅读框架并尝试一些示例,PDFKit作为一个深思熟虑的设计,可以开箱即用,并简化开发。
例如,我们在应用程序中具有AirPrint功能,该功能具有用于确定可印刷性的检查
if ([UIPrintInteractionController canPrintData: fileData]) {
用PDFKit替换webview实现后,我只需使用dataRepresentation
方法获取fileData,其余的只是按原样运行
NSData *fileData = [pdfDocument dataRepresentation];
请查看this WWDC page了解更多详情
答案 2 :(得分:3)
这是基于Objective-C的示例
#import <PDFKit/PDFKit.h>
PDFView *View = [[PDFView alloc] initWithFrame: self.view.bounds];
View.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin;
View.autoScales = NO ;
View.displayDirection = kPDFDisplayDirectionHorizontal;
View.displayMode = kPDFDisplaySinglePageContinuous;
View.displaysRTL = YES ;
[View setDisplaysPageBreaks:YES];
[View setDisplayBox:kPDFDisplayBoxTrimBox];
[View zoomIn:self];
[self.view addSubview:View];
NSURL * URL = [[NSBundle mainBundle] URLForResource: @"test" withExtension: @ "pdf" ];
PDFDocument * document = [[PDFDocument alloc] initWithURL: URL];
View.document = document;