首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无需加载完整文档即可获取PDF XMP元数据

无需加载完整文档即可获取PDF XMP元数据
EN

Stack Overflow用户
提问于 2021-11-08 15:46:46
回答 2查看 100关注 0票数 1

使用iTextSharp或iText等库,您可以通过PdfReader从PDF文档中提取元数据:

代码语言:javascript
复制
using (var reader = new PdfReader(pdfBytes))
{
    return reader.Metadata == null ? null : Encoding.UTF8.GetString(reader.Metadata);
}

这些类型库完全解析PDF文档,然后才能添加元数据。在我的例子中,这将导致系统资源的高使用率,因为我们每秒收到许多请求,并且PDF很大。

有没有一种方法可以从PDF中提取元数据,而不必先将其完全加载到内存中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-09 09:18:42

iText 5.x也允许部分阅读PDF,只是看起来有点复杂。

而不是

代码语言:javascript
复制
using (var reader = new PdfReader(pdfBytes))

使用

代码语言:javascript
复制
using (var reader = new PdfReader(new RandomAccessFileOrArray(pdfBytes), null, true))

其中最终的true请求部分读取。

票数 1
EN

Stack Overflow用户

发布于 2021-11-09 08:31:19

使用PDF4NET,您可以提取XMP元数据,而无需将整个文档加载到内存中:

代码语言:javascript
复制
// This does a minimal parsing of the PDF file and loads 
// only a few objects from the file
PDFFile pdfFile = new PDFFile(new MemoryStream(pdfBytes));

string xmpMetadata = pdfFile.ExtractXmpMetadata();

更新1:代码更改为从字节数组加载文件

免责声明:我为开发PDF4NET库的公司工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69886240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档