获取本地PDF页面高度 - iOS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取本地PDF页面高度 - iOS相关的知识,希望对你有一定的参考价值。

我有一个pdf存储在本地的iPhone。我想得到那个有路径的pdf的高度。我试过了:

NSURL *pdfUrl = [NSURL fileURLWithPath:self.documentPath];
CGPDFDocumentRef document = CGPDFDocumentCreateWithURL(CFBridgingRetain(pdfUrl));
float width = CGPDFPageGetBoxRect(CGPDFDocumentGetPage(document, 0), kCGPDFMediaBox).size.width;
float height = CGPDFPageGetBoxRect(CGPDFDocumentGetPage(document, 0), kCGPDFMediaBox).size.height;

但该文档为空,我不知道其他任何方式。

答案

试试这个,我希望它可以帮助你:)

// fileName is the PDF path
NSData *pdfData = [NSData dataWithContentsOfFile: @"__PDF_PATH"];

// Convert NSData to CFDataRef
CFDataRef thePDFdata = (__bridge CFDataRef)pdfData;

// Create CGDataProviderRef object from data
CGDataProviderRef providerObj = CGDataProviderCreateWithCFData(thePDFdata);

// Create the PDF using provider object
CGPDFDocumentRef pdfDoc = CGPDFDocumentCreateWithProvider(providerObj);

// Get the first page of the PDF
CGPDFPageRef pdfPageRef = CGPDFDocumentGetPage(pdfDoc, 1);

// Get the rect object from page 1
CGRect pdfPageRect = CGPDFPageGetBoxRect(pdfPageRef, kCGPDFMediaBox);

float width = pdfPageRect.size.width;
float height = pdfPageRect.size.height;

NSLog(@"WIDTH: %f HEIGHT: %f", width, height);

以上是关于获取本地PDF页面高度 - iOS的主要内容,如果未能解决你的问题,请参考以下文章

asp.net页面实用代码片段

Android获取片段中的布局高度和宽度

iOS- 获取本地视频宽度高度分辨的问题(普通百度的答案有问题)

怎样在父页面里获取加载(iframe)另一个网页的高度(父页面获取iframe里面加载页面的高度)

如何在 iOS、PDFKit、swift 中获取 pdf 页面的准确 X 和 Y 原点值

ios 获取导航栏和状态栏高度,针对iPhoneX