获取总页数和当前页面 QuickLook
Get Total Pages Count and Current Page QuickLook
我正在使用 'QLPreviewController' 显示文档文件 (pdf/doc)。
有什么方法可以获取总页数和当前页码吗?
或查看 pdf/doc 并获取页数的任何其他方式。
喜欢“9 个中的 9 个”- 如何获得
QuickLook 只为look mate。您可以从 CGPDFDocument
获取元数据
if let url = Bundle.main.url(forResource: "yourFileNameHere", withExtension: "pdf"),
let pdf = CGPDFDocument(url as CFURL) {
let count = pdf.numberOfPages
print(count)
}
对于 docx,请尝试使用 carthage 安装 ZipZap:github "pixelglow/ZipZap" "8.1"
NSURL *url = [[NSBundle mainBundle] URLForResource:@"demo" withExtension:@"docx"];
ZZArchive* archive = [ZZArchive archiveWithURL:url error:nil];
NSString *pageCount;
for (ZZArchiveEntry* entry in archive.entries) {
if([entry.fileName isEqualToString:@"docProps/app.xml"]) {
NSString *responseString = [[NSString alloc] initWithData:
[entry newDataWithError:nil] encoding:NSUTF8StringEncoding];
//Get the value between tag <Pages> and </Pages>
NSRange tag1 = [responseString rangeOfString:@"<Pages>"];
NSRange tag2 = [responseString rangeOfString:@"</Pages>"];
pageCount = [responseString substringWithRange:
NSMakeRange((tag1.location + tag1.length), (tag2.location - tag1.length - tag1.location))];
}
}
这里是 docx 元数据的来源:https://www.forensicswiki.org/wiki/Word_Document_(DOCX)
我正在使用 'QLPreviewController' 显示文档文件 (pdf/doc)。 有什么方法可以获取总页数和当前页码吗?
或查看 pdf/doc 并获取页数的任何其他方式。
喜欢“9 个中的 9 个”- 如何获得
QuickLook 只为look mate。您可以从 CGPDFDocument
获取元数据if let url = Bundle.main.url(forResource: "yourFileNameHere", withExtension: "pdf"),
let pdf = CGPDFDocument(url as CFURL) {
let count = pdf.numberOfPages
print(count)
}
对于 docx,请尝试使用 carthage 安装 ZipZap:github "pixelglow/ZipZap" "8.1"
NSURL *url = [[NSBundle mainBundle] URLForResource:@"demo" withExtension:@"docx"];
ZZArchive* archive = [ZZArchive archiveWithURL:url error:nil];
NSString *pageCount;
for (ZZArchiveEntry* entry in archive.entries) {
if([entry.fileName isEqualToString:@"docProps/app.xml"]) {
NSString *responseString = [[NSString alloc] initWithData:
[entry newDataWithError:nil] encoding:NSUTF8StringEncoding];
//Get the value between tag <Pages> and </Pages>
NSRange tag1 = [responseString rangeOfString:@"<Pages>"];
NSRange tag2 = [responseString rangeOfString:@"</Pages>"];
pageCount = [responseString substringWithRange:
NSMakeRange((tag1.location + tag1.length), (tag2.location - tag1.length - tag1.location))];
}
}
这里是 docx 元数据的来源:https://www.forensicswiki.org/wiki/Word_Document_(DOCX)