# @coolsoftwaretyler/cool-pdf 中文文档

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

版本：0\.1\.10
npm 元数据更新时间：2025-10-06T01:42:46.320Z
中文译文更新时间：2026-11-14T12:22:14.854Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：116 kB，42 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：expo \*，react \*，react-native \*
- 首次发布：2025-10-04T17:40:34.148Z
- 最新版本发布：2025-10-06T01:42:46.087Z
- 近 30 天下载量：2053（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：11（近 12 个月 0 个）

## 中文简介

PDF 博览会的视图组件

## 安装

```sh
npm install @coolsoftwaretyler/cool-pdf
```

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

## README

# 凉快 pdf

用于 Expo 的 PDF 视图组件。 已作为 滴入 替换 [反应-内生-pdf](https://github.com/wonday/react-native-pdf/)检查 [当前进度的相容表](https://github.com/coolsoftwaretyler/cool-pdf?tab=readme-ov-file#props-compatibility-with-react-native-pdf)欢迎各方提供捐款.

## 路线图

[参见GitHub 问题解释项目动机和意图](https://github.com/coolsoftwaretyler/cool-pdf/issues/1)

## 安装

### 将软件包添加到您的依赖关系

```sh
npm install @coolsoftwaretyler/cool-pdf
```

### 运行新的预建

```sh
npx expo prebuild --clean
```

### 运行您的应用程序

启动 Android 或 iOS

## 使用量

```tsx
import { CoolPdfView } from "@coolsoftwaretyler/cool-pdf";

<CoolPdfView source={{ uri: url }} />;
```

## 与反应-内在-pdf相兼容

总体兼容性:89%

-   27/29 道具
-   6/6 源参数
-   6/9类来源 uri
-   得到支助的道具总数

### 道具

| 财产 | 类型 | 默认 | 说明 | iOS系统 | 机器人 | 支助 |
| --- | --- | --- | --- | --- | --- | --- |
| 来源 | 对象 | 不为空 | PDF 源如 {uri: xxxx,缓存: false}. 详见以下. | ✔ | ✔ | ✔ |
| 页 次 | 编号 | 1个 | 首页索引 | ✔ | ✔ | ✔ |
| 缩放 | 编号 | 1.0 国家 | 缩放 | ✔ | ✔ | ✔ |
| 分钟比例 | 编号 | 1.0 国家 | 分钟比例 | ✔ | ✔ | ✔ |
| 最大比例 | 编号 | 3.0 调用 | 最大比例 | ✔ | ✔ | ✔ |
| 水平 | 嘘 | 虚假 | 绘制页面方向, 如果您想要聆听方向变化, 您可以使用 [反应-内向-锁定器](https://github.com/wonday/react-native-orientation-locker) | ✔ | ✔ | ✔ |
| 显示 Horizontal 滚动索引 | 嘘 | 真实 | 在 iOS 上显示或隐藏横向滚动条指标 | ✔ |  | ✔ |
| 显示证书滚动索引 | 嘘 | 真实 | 显示或隐藏 iOS 上的垂直滚动条指标 | ✔ |  | ✔ |
| 滚动已启用 | 嘘 | 真实 | 启用或禁用滚动 | ✔ |  | ✔ |
| 适应政策 | 编号 | 2个 | 0: fit 宽度, 1: fit 高度, 2: fit both( 默认) | ✔ | ✔ | ✔ |
| 间距 | 编号 | 10个 | 页面之间的断开器大小 | ✔ | ✔ | ✔ |
| 密码 | 字符串 | "" "" (英语) | pdf 密码,如果密码出错,会用信件"需要密码或密码错误"(Password required)给OnError()打电话 | ✔ | ✔ | ✔ |
| 样式 | 对象 | {背景颜色:"#eee"} | 支持普通视图样式,您可以使用此样式设置边框/相距颜色... | ✔ | ✔ | ✔ |
| 进程 | 对象 | {背景颜色:"#eee"} | 支持普通视图样式,您可以使用此样式设置边框/相距颜色... | ✔ | ✔ | ✔ |
| 渲染活性指示器 | (进展) 构成部分 |  | 装入时显示为指示器, 您可以使用您的组件 | ✔ | ✔ | ✔ |
| 启用解析 | 嘘 | 真实 | 改进了低收分屏幕的渲染, 但也许在Android 4.4上有些问题,所以加个开关 | ✖ | ✔ | ✖ |
| 启用 | 嘘 | 虚假 | 只显示一页屏幕 | ✔ | ✔ | ✔ |
| 启用RTL | 嘘 | 虚假 | 滚动页为"page3, page2, page1" | ✔ | ✖ | ✔ |
| 启用注释 | 嘘 | 真实 | 允许提供注释, 通知: iOS 只支持初始设置, 不支持实时更改 | ✔ | ✔ | ✔ |
| 启用 DoubleTapZoom | 嘘 | 真实 | 启用双拍以缩放手势 | ✔ | ✔ | ✔ |
| 信任所有证书 | 嘘 | 真实 | 允许使用自签名认证连接到服务器 | ✔ | ✔ | ✖ |
| 单页 | 嘘 | 虚假 | 只显示第一页, 对缩略图视图有用 | ✔ | ✔ | ✔ |
| 记录 | 函数(百分比) | 无效 | 装入时召回, 返回装入进度 (0-1) | ✔ | ✔ | ✔ |
| 已读完成 | 函数( 数字页, 路径, {width, 高度} , 表格连接) | 无效 | 当 pdf 装入完成时, 返回总页数、 pdf 本地/ 缓存路径、 {width, height} 和目录 | ✔ | ✔ | ✔ |
| 页面已更改 | 函数( 页面, 数字) | 无效 | 更改页面时回调, 返回当前页面和总页面数 | ✔ | ✔ | ✔ |
| 错误 | 函数( 错误) | 无效 | 错误发生时调用 | ✔ | ✔ | ✔ |
| 页面选择 | 函数( 页) | 无效 | 单独调用页面时调用 | ✔ | ✔ | ✔ |
| 结构变化 | 函数( 比例) | 无效 | 缩放页面时调用 | ✔ | ✔ | ✔ |
| 新闻链接 | 函数( uri) | 无效 | 调用链接时调用 | ✔ | ✔ | ✔ |

#### 源参数

| 参数 | 说明 | 默认 | iOS系统 | 机器人 | 支助 |
| --- | --- | --- | --- | --- | --- |
| 乌里 | pdf来源,详见以下. | 所需经费 | ✔ | ✔ | ✔ |
| 缓存 | 是否使用缓存 | 虚假 | ✔ | ✔ | ✔ |
| 缓存文件Name | 缓存的 pdf 文件的具体文件名 | SHA1( uri) 结果 | ✔ | ✔ | ✔ |
| 到期 | 缓存文件已过期秒( 0 未过期) | 0 个 | ✔ | ✔ | ✔ |
| 方法 | url 时请求方法 | 盖特 | ✔ | ✔ | ✔ |
| 页眉 | 当 uri 是 url 时请求标题 | {} | ✔ | ✔ | ✔ |

#### 来源类型.uri

| 使用量 | 说明 | iOS系统 | 机器人 | 支助 |
| --- | --- | --- | --- | --- |
| `{uri:"http://xxx/xxx.pdf"}` | 从url 装入 pdf | ✔ | ✔ | ✔ |
| `{require("./test.pdf")}` | 负载 pdf 与 js 文件有关(不需要由 xcode 添加) | ✔ | ✔ | ✔ |
| `{uri:"bundle-assets://path/to/xxx.pdf"}` | 从资产中加载 pdf,文件应位于和机器人/app/src/main/assets/path/to/xxx.pdf | ✖ | ✔ | ✔ |
| `{uri:"bundle-assets://xxx.pdf"}` | 从资产中加载 pdf, 您必须用 xcode 为工程添加 pdf 。 它不支持文件夹 . | ✔ | ✖ | ✔ |
| `{uri:"data:application/pdf;base64,JVBERi0xLjcKJc..."}` | 从基数64字符串装入 pdf | ✔ | ✔ | ✔ |
| `{uri:"file:///absolute/path/to/xxx.pdf"}` | 从本地文件系统装入 pdf | ✔ | ✔ | ✔ |
| `{uri:"ms-appx:///xxx.pdf"}}` | 装入 pdf 与 UWP 应用程序捆绑 | ✖ | ✖ | ✖ |
| `{uri:"content://com.example.blobs/xxxxxxxx-...?offset=0&size=xxx"}` | 从内容 URI 装入 pdf | ✔\* | ✖ | ✖ |
| `{uri:"blob:xxxxxxxx-...?offset=0&size=xxx"}` | 从 blob URL 装入 pdf | ✖ | ✔ | ✖ |

## 常见问题

### @coolsoftwaretyler/cool-pdf 是什么？

PDF 博览会的视图组件

### 如何安装 @coolsoftwaretyler/cool-pdf？

在项目目录运行 npm install @coolsoftwaretyler/cool-pdf，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：expo（\*）、react（\*）、react-native（\*）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @coolsoftwaretyler/cool-pdf 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @coolsoftwaretyler/cool-pdf 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @coolsoftwaretyler/cool-pdf 可以商用吗？

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

### @coolsoftwaretyler/cool-pdf 的下载量有多少？

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

### @coolsoftwaretyler/cool-pdf 还在维护吗？

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

