# @digicole/pdfmake-rtl 中文文档

规范地址：https://npmcn.com/package/%40digicole/pdfmake-rtl/

版本：2\.1\.2
npm 元数据更新时间：2026-02-10T19:37:10.242Z
中文译文更新时间：2026-11-12T08:04:01.126Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：21 MB，137 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=20
- 运行依赖：4 个
- 首次发布：2025-08-05T10:55:16.534Z
- 最新版本发布：2026-02-10T19:37:10.101Z
- 近 30 天下载量：3432（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 3 个）

## 中文简介

加强PDFMake,提供全面的RTL(阿拉伯语/波斯语/乌尔都语)支持 -- -- 生产准备就绪的一揽子计划

## 安装

```sh
npm install @digicole/pdfmake-rtl
```

也可以使用：`pnpm add @digicole/pdfmake-rtl`、`yarn add @digicole/pdfmake-rtl`、`bun add @digicole/pdfmake-rtl`

## README

# pdfmake-RTL (英语) [![Node.js CI](https://github.com/aysnet1/pdfmake-rtl/actions/workflows/node.js.yml/badge.svg?branch=master)](https://github.com/aysnet1/pdfmake-rtl/actions) [![GitHub](https://img.shields.io/github/release/aysnet1/pdfmake-rtl.svg?colorB=0E7FBF)](https://github.com/bpampuch/pdfmake-rtl/releases/latest) [![npm](https://img.shields.io/npm/v/pdfmake-rtl.svg?colorB=0E7FBF)](https://www.npmjs.com/package/pdfmake-rtl)

**PDFMake RTL 软件** 是增强版本的 [PDF 制作](https://www.npmjs.com/package/pdfmake) 与 **自动 RTL( 右到左) 语言支持** 用于阿拉伯语,波斯语(法尔西语),乌尔都语等RTL文字. 不需要手动配置——只需写出您的内容和库自动检测和处理RTL文本!

所有已存在的PDFMake代码工作不变,添加了自动RTL支持!

> **重要内容:** 此软件包已移至一个新的 npm 范围 。 请使用 [`pdfmake-rtl`](https://www.npmjs.com/package/pdfmake-rtl) 继续前进.
> 
> ```bash
> npm install pdfmake-rtl
> ```

## 关键特性

-   ✅ **自动 RTL 检测** - 不用设了 `rtl` 旗帜
-   ✅ **智能表格列倒转** - 阿拉伯文/佩斯文/乌尔都文表格自动倒行
-   ✅ **Unicode 脚本检测** - 支持阿拉伯语、波斯语、乌尔都语和扩展语
-   ✅ **自动选择字体** - 每种语言使用适当的字体
-   ✅ **适当的文本对齐** - RTL 文本对右, LTR 文本对左
-   ✅ **列表项目符号位置** - 为RTL清单正确定位的子弹
-   ✅ **混合内容支持** - 阿拉伯语/波斯语/乌尔都语/英语混合内容
-   ✅ **100% PDF 制作兼容性** - 用于PDFMake的投放替换

## 现场直播

👉 [在 Netlify 上查看 Live Demo](https://pdfmake-rtl.netlify.app/)

PDF 文件生成库,用于纯JavaScript中的服务器侧和客户端侧.

检查出来 [游乐场](http://aysnet1.github.io/pdfmake-rtl/playground.html) 财务报告和审定财务报表 [实例](https://github.com/aysnet1/pdfmake-rtl/tree/master/examples)。 。 。 .

## 文档

综合指南、API参考文献和使用实例,请访问 [pdfmake.github.io/docs (英语)](https://pdfmake.github.io/docs/)。 。 。 .

### 特征

#### RTL 语言支持

-   **自动RTL 检测** 阿拉伯语、波斯语(法尔西语)、乌尔都语和其他RTL 脚本
-   **智能表格列倒转** ——列自动反转RTL内容
-   **自动选择字体** ——阿拉伯语,波斯语和乌尔都语文本使用开罗字体
-   **适当的文本对齐** — RTL 文本自动向右对齐, LTR 向左对齐
-   **列出弹出位置** - 为RTL清单正确定位了子弹和数字
-   **混合内容处理** ——在同一文件中无缝处理阿拉伯语/波斯语/乌尔都语/英语
-   **Unicode 脚本检测** ——支持阿拉伯语,波斯语,乌尔都语字符和扩展名

#### 支持的RTL语言

| 语言 | 脚本 | 自动字体 |
| --- | --- | --- |
| 阿拉伯语 | العربية | 开罗 |
| 波斯语( 法尔西 ) | فارسی | 开罗 |
| 乌尔都语 | اردو | 开罗 |
| 其他RTL 脚本 | —— 说 | 开罗 |

#### 一般特点

-   线接,
-   文本对齐(左,右,中,正),
-   编号和中弹清单(带有RTL-感应子弹定位),
-   表格和栏
    -   自动/固定/星等宽度,
    -   相声和相声,
    -   页面断开时自动重复页眉,
    -   **rTL 内容的自动列反转**, (中文(简体) ),
-   图像和向量图形,
-   方便的造型和风格的继承,
-   页面页眉和页脚 :
    -   静态或动态内容,
    -   访问当前页码和页数,
-   背景层,
-   页面尺寸和方向,
-   边距,
-   文件节,
-   自定义分页符,
-   字体嵌入(包含用于 RTL 支持的开罗字体),
-   支持复杂、多层次(取消)结构,
-   目录,
-   打开/打印/下载生成的 PDF 的帮助方法,
-   设置 PDF 元数据(例如作者,主题).

## \* 安装

```bash
npm install pdfmake-rtl
```

## QQ快起步-浏览器 (Client-Side)

```html
<!-- Load pdfmake-rtl + fonts -->
<script src="https://unpkg.com/pdfmake-rtl/build/pdfmake.min.js"></script>
<script src="https://unpkg.com/pdfmake-rtl/build/vfs_fonts.js"></script>
<!-- <script src="https://unpkg.com/pdfmake-rtl/build/fonts/Cairo.js"></script> -->

<script>
    var dd = {
        rtl: true,
        // If Cairo font isn't applied automatically, set `rtl: true` to force RTL mode or add defaultStyle:{font:'Cairo'}
        content: [
            // RTL paragraph — auto-detected, no configuration needed
            { text: "مرحباً بكم في مكتبة pdfmake-rtl", fontSize: 20, bold: true },
            {
                text: "هذه المكتبة تدعم اللغة العربية تلقائياً",
                margin: [0, 0, 0, 15],
            },

            // RTL table — columns auto-reverse for Arabic content
            {
                table: {
                    // rtl:true
                    widths: ["*", "*", "*"],
                    body: [
                        [
                            { text: "الراتب", bold: true },
                            { text: "القسم", bold: true },
                            { text: "الاسم", bold: true },
                        ],
                        ["5000", "تكنولوجيا", "أحمد محمد"],
                        ["6000", "تسويق", "فاطمة علي"],
                    ],
                },
            },

            // Force RTL on any table with rtl: true
            {
                table: {
                    rtl: true,
                    widths: ["*", "*", "*"],
                    body: [
                        [
                            { text: "Status", bold: true },
                            { text: "Name", bold: true },
                            { text: "#", bold: true },
                        ],
                        ["Active", "Ali Hassan", "1"],
                        ["Active", "Sara Ahmed", "2"],
                    ],
                },
            },
        ],
    };

    pdfMake.createPdf(dd).open();
</script>
```

> \* 参看完整的实例: [`examples/simple-rtl-table.html`](https://npmcn.com/package/%40digicole/pdfmake-rtl/examples/simple-rtl-table.html)

## QQ快起步-节点.js (Server-Side)

```js
var pdfmake = require("pdfmake-rtl");

// Add fonts
// Cairo is the default font for RTL languages (Arabic, Persian, Urdu)
// Roboto is the default font for LTR/Latin text
var Roboto = require("pdfmake-rtl/fonts/Roboto");
pdfmake.addFonts(Roboto);

var Cairo = require("pdfmake-rtl/fonts/Cairo");
pdfmake.addFonts(Cairo);

var dd = {
    // If Cairo font isn't applied automatically, set `rtl: true` to force RTL mode or add defaultStyle Cairo
    rtl: true, // Forces RTL layout direction for the entire document
    content: [
        { text: "مرحباً بكم في مكتبة pdfmake-rtl", fontSize: 20, bold: true },
        {
            table: {
                widths: ["*", "*", "*"],
                body: [
                    [
                        { text: "الراتب", bold: true },
                        { text: "القسم", bold: true },
                        { text: "الاسم", bold: true },
                    ],
                    ["5000", "تكنولوجيا", "أحمد محمد"],
                    ["6000", "تسويق", "فاطمة علي"],
                ],
            },
        },
    ],
};

var pdf = pdfmake.createPdf(dd);
pdf.write("output.pdf").then(() => console.log("PDF created!"));
```

## 文档

**文档 URL: [https://pdfmake-trtl.github.io/docs/\* (中文(简体) )](https://pdfmake-rtl.github.io/docs/*)\* 联合国**

文件来源: [https://github.com/pdfmake-trtl/docs (中文(简体) )](https://github.com/pdfmake-rtl/docs) **欢迎改进!**

## 来源建筑

使用 npm :

```
git clone https://github.com/aysnet1/pdfmake-rtl.git
cd pdfmake-rtl
npm install
npm run build
```

使用线条 :

```
git clone https://github.com/aysnet1/pdfmake-rtl.git
cd pdfmake-rtl
yarn
yarn run build
```

## 许可证

麻省理工学院

## 贷项

### pdf make-rtl 页面存档备份,存于互联网档案馆

-   [@aysnet1 (英语)](https://github.com/aysnet1) — 创建者和维护者

### pdfmake(原始图书馆)

-   [@bpampuch (英语)](https://github.com/bpampuch) ——创始人
-   [@liborm85 (英语)](https://github.com/liborm85) - 维护者

pdfmake 是基于一个真正惊人的库 [pdfkit (英语)](https://github.com/devongovett/pdfkit) (对 [@devongovett (英语)](https://github.com/devongovett)) (中文(简体) ).

感谢所有贡献者.

## 常见问题

### @digicole/pdfmake-rtl 是什么？

加强PDFMake,提供全面的RTL\(阿拉伯语/波斯语/乌尔都语\)支持 -- -- 生产准备就绪的一揽子计划

### 如何安装 @digicole/pdfmake-rtl？

在项目目录运行 npm install @digicole/pdfmake-rtl，或使用 pnpm add / yarn add / bun add。

### @digicole/pdfmake-rtl 支持 TypeScript 吗？

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

### @digicole/pdfmake-rtl 支持 ESM 还是 CommonJS？

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

### @digicole/pdfmake-rtl 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @digicole/pdfmake-rtl 可以商用吗？

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

### @digicole/pdfmake-rtl 的下载量有多少？

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

### @digicole/pdfmake-rtl 还在维护吗？

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

