# @file-type/pdf 中文文档

规范地址：https://npmcn.com/package/%40file-type/pdf/

版本：0\.3\.0
npm 元数据更新时间：2026-10-24T11:54:31.752Z
中文译文更新时间：2026-11-14T17:38:05.752Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40file-type/pdf
原文对照：https://npmcn.com/package/%40file-type/pdf/?lang=original
项目主页：https://github.com/Borewit/file-type-pdf#readme
源码仓库：https://github.com/Borewit/file-type-pdf

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：23.6 kB，7 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：4 个
- 首次发布：2025-12-28T17:17:04.782Z
- 最新版本发布：2026-04-15T19:17:29.777Z
- 近 30 天下载量：179982（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 4 个）

## 中文简介

分析 PDF 文件的文件类型插件

## 安装

```sh
npm install @file-type/pdf
```

也可以使用：`pnpm add @file-type/pdf`、`yarn add @file-type/pdf`、`bun add @file-type/pdf`

## README

[![NPM version](https://img.shields.io/npm/v/@file-type/pdf.svg)](https://npmjs.org/package/@file-type/pdf) [![Node.js CI](https://github.com/Borewit/file-type-pdf/actions/workflows/nodejs-ci.yml/badge.svg)](https://github.com/Borewit/file-type-pdf/actions/workflows/nodejs-ci.yml) [![npm downloads](http://img.shields.io/npm/dm/@file-type/pdf.svg)](https://npmcharts.com/compare/@file-type/pdf?start=365)

# @ 文件类型/ pdf

探测器插件 [文件类型](https://github.com/sindresorhus/file-type) 识别 [PDF (便携式文档格式)](https://en.wikipedia.org/wiki/PDF) 文件和选定的基于 PDF 的子类型.

此插件超越了简单的魔法数检测, 可以检查内部 PDF 区分通用 PDF 文件与特定生产者格式的结构,例如 **阿多贝·伊吕斯特拉多 (**。 。 。 .

## 范围

这种探测器是为造型良好的PDF文件所设计,并建立了基于PDF的子类型. 对腐败或不合规的PDF的支持是有意限制的,只有在偏离既常见又被广泛接受时才予以考虑.

## 安装

```bash
npm install @file-type/pdf
```

## 使用量

以下示例显示如何将 PDF 检测器添加到 [文件类型](https://github.com/sindresorhus/file-type)数字 :

```js
import { FileTypeParser } from 'file-type';
import { detectPdf } from '@file-type/pdf';

const parser = new FileTypeParser({
  customDetectors: [detectPdf],
});

const fileType = await parser.fromFile('example.pdf');
console.log(fileType);
```

## PDF/A检测

当PDF被确定为PDF/A时(基于XMP元数据,如pdfaid:part), 检测器返回包含一个额外旗帜的结果 :

```ts
  export interface PdfTypeResult extends FileTypeResult {
  archive?: boolean;
}
```

PDF/A 文件的示例结果 :

```js
{
  ext: 'pdf',
  mime: 'application/pdf',
  archive: true
}
```

这使得消费者可以区分 **档案 PDF** 从普通PDF中取出,但不引入非标准扩展或MIME类型.

## 支持的文件格式

-   `.ai` 编号 : `application/illustrator`: Adobe Illustrator (英语)
-   `.pdf` 编号 : `application/pdf`: 通用可移植文档格式文件,包括PDF/A(存档 PDF)

## 许可证

本项目根据以下规定获得许可证: [MIT 许可证](https://npmcn.com/package/%40file-type/pdf/LICENSE.txt)。 。 。 . 请随意使用,修改,并根据需要分发.

## 常见问题

### @file-type/pdf 是什么？

分析 PDF 文件的文件类型插件

### 如何安装 @file-type/pdf？

在项目目录运行 npm install @file-type/pdf，或使用 pnpm add / yarn add / bun add。

### @file-type/pdf 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/file-type\_\_pdf 是否存在。

### @file-type/pdf 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @file-type/pdf 可以商用吗？

@file-type/pdf 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @file-type/pdf 的下载量有多少？

根据 npm 官方下载统计，@file-type/pdf 在 2026/10/15 – 2026/11/13 这 30 天内被下载 179,982 次，日均约 5,999 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @file-type/pdf 还在维护吗？

最新版本 0\.3\.0 发布于 2026/04/16（6 个月前）；至今共发布 4 个版本，其中过去 12 个月发布了 4 个；首次发布于 2025/12/29。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

