Flutter中如何获取PDF文档的Exif元数据?
解决Flutter中无法获取PDF元数据的问题
flutter_exif和native_exif是专门为图片文件设计的EXIF信息读取库,EXIF是图片专属的元数据标准,PDF并不采用这套格式,所以这两个库无法解析PDF的元数据是正常现象。要读取PDF的元数据,需要使用Flutter社区中针对PDF的专用库,推荐两个常用选项:
pdf库:可解析PDF的基础元数据(如作者、创建时间、文档标题等),示例代码:import 'package:pdf/pdf.dart'; import 'package:pdf/widgets.dart' as pw; import 'dart:io'; Future<void> readPdfMetadata(File pdfFile) async { final pdfDoc = await pw.Document.loadFromBytes(await pdfFile.readAsBytes()); final metadata = pdfDoc.metadata; print('文档标题: ${metadata.title}'); print('作者: ${metadata.author}'); print('创建时间: ${metadata.created}'); }pdfx库:除元数据读取外,还支持PDF页面预览、文本提取等功能,读取元数据示例:import 'package:pdfx/pdfx.dart'; Future<void> getPdfMetadata(String pdfFilePath) async { final pdfController = PdfController(document: PdfDocument.openFile(pdfFilePath)); final pdfDoc = await pdfController.document; print('PDF标题: ${pdfDoc.title}'); print('PDF作者: ${pdfDoc.author}'); print('总页数: ${pdfDoc.pagesCount}'); await pdfController.dispose(); }
不同PDF库支持的元数据字段可能有细微差别,可根据实际需求选择适配的库。
内容的提问来源于stack exchange,提问作者Suganya
相关产品推荐
相关产品推荐

