获取本地PDF页面高度 - iOS

问题描述 投票:0回答:1

我有一个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;

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

ios objective-c pdf
1个回答
1
投票

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

// 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);
© www.soinside.com 2019 - 2024. All rights reserved.