mcpField
S
syncfusion-javascript-pdf

syncfusion-javascript-pdf

github.com/syncfusion文档处理2101 次安装1 周前更新
代码仓库

关于 syncfusion-javascript-pdf

使用 Syncfusion JavaScript PDF 库创建、读取和修改 PDF 的技能,面向 JavaScript 及相关应用框架的开发者。除文档生成与编辑外,还涵盖交互功能、内容提取和安全处理。

主要功能

  1. 01用文本、图像和表格创建 PDF
  2. 02编辑并提取 PDF 内容
  3. 03添加表单、批注和链接
  4. 04合并、拆分和添加水印
  5. 05加密并数字签署 PDF

适用场景

  1. 01生成发票或报告
  2. 02填写并扁平化 PDF 表单
  3. 03从 PDF 提取文本或图像
  4. 04合并多个 PDF 文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/syncfusion/document-sdk-skills --skill syncfusion-javascript-pdf

安装后在 Claude Code 中输入/syncfusion-javascript-pdf确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
annotations.md
bookmarks.md
content-redaction.md
digital-signatures.md
document-settings.md
encryption.md
form-fields.md
getting-started.md
hyperlinks.md
image-extraction.md
images.md
layers.md
lists.md
merge-documents.md
pdf-pages.md
shapes.md
split-documents.md
tables.md
templates.md
text-extraction.md
text-rendering.md
watermarks.md

详细介绍

处理 PDF 文档

一项全面的技能,可使用 Syncfusion JavaScript PDF 库以编程方式创建、读取和操作 PDF 文档。该库可与 TypeScript、JavaScript、Angular、React、Vue、ASP.NET Core 和 ASP.NET MVC 应用无缝集成。

何时使用此技能

当用户需要以下操作时,请使用此技能:

  • 创建 PDF 文档:从头开始创建,包含文本、图像、形状、表格、列表和其他图形元素
  • 操作现有 PDF:添加内容、修改属性或提取数据
  • 添加交互功能:例如表单、批注、书签和超链接
  • 保护 PDF:使用密码保护、RC4/AES 加密、权限和数字签名
  • 合并或拆分 PDF 文档,以适用于文档管理工作流
  • 提取内容:包括从现有 PDF 中提取文本(支持搜索和边界信息)和图像
  • 添加水印:添加文本或图像水印,用于品牌标识或安全防护
  • 管理文档信息:包括标题、作者、主题、关键字和日期
  • 使用 PDF 图层:处理复杂的文档结构
  • 实现模板:确保文档生成格式一致

平台支持: TypeScript、JavaScript、Angular、React、Vue、ASP.NET Core、ASP.NET MVC

库概览

Syncfusion JavaScript PDF 库(@syncfusion/ej2-pdf)是一个功能强大、性能出色的类库,可用于:

  • 无需 Adobe Acrobat 即可从头创建 PDF 文档
  • 加载、编辑和保存现有 PDF 文件
  • 打开受密码保护的 PDF 文档
  • 添加文本、图像、形状和图形元素
  • 交互组件(书签、批注、表单字段)
  • 文档操作(合并、拆分、扁平化)
  • 内容提取(文本、图像)
  • 安全功能(数字签名、LTV、验证、加密、涂黑)

主要类:

  • PdfDocument - 主文档对象
  • PdfPage - 单个页面
  • PdfGraphics - 内容绘制表面
  • PdfGrid - 表格生成和布局
  • PdfFont、PdfBitmap、PdfBrush - 内容元素

文档与导航指南

入门

📄 阅读: references/getting-started.md

当用户需要以下操作时,请参考此文档:

  • 安装 @syncfusion/ej2-pdf 软件包
  • 为 TypeScript、JavaScript、Angular、React、Vue 或 ASP.NET 配置库
  • 了解依赖项和要求
  • 创建第一个 PDF 文档
  • 了解基本的保存和导出操作
文档创建与设置

📄 阅读: references/document-settings.md

以下情况请参考此文档:

  • 创建 PdfDocument 实例
  • 配置页面设置(大小、方向、边距、旋转)
  • 设置文档属性(标题、作者、主题、关键字、创建日期/修改日期)
  • 启用增量更新
  • 扁平化批注和表单字段

📄 阅读: references/pdf-pages.md

以下情况请参考此文档:

  • 向文档添加页面
  • 页面操作和导航
  • 使用不同设置的页面分节
  • 管理页面集合
内容元素

📄 阅读: references/text-rendering.md

添加文本时请参阅此参考:

  • 使用 drawString() 方法绘制文本
  • 字体类型(Standard、TrueType、CJK 字体)
  • 字体样式、大小和格式
  • 文本布局和换行
  • 图形状态管理(保存/恢复)
  • 文本定位和边界

📄 阅读: references/images.md

进行图像操作时请参阅此参考:

  • 添加 JPEG 和 PNG 图像
  • 使用 PdfBitmap 类
  • 图像定位和尺寸调整
  • 在现有文档中插入图像
  • Base64 和 Uint8Array 图像格式
  • 裁剪和图形变换

📄 阅读: references/shapes.md

绘制形状时请参阅此参考:

  • 矩形、圆形、椭圆和线条
  • 复杂路径和曲线
  • 用于样式设置的画笔和填充刷
  • 填充和描边操作
  • 图形变换(平移、旋转、缩放)

📄 阅读: references/tables.md

创建和设置表格格式时请参阅此参考:

  • 使用 PdfGrid 从数据源创建表格,或手动定义行和列
  • 表格和单元格样式、自定义边框、内边距和内置主题(PdfGridBuiltinStyle)
  • 行和列自定义、文本对齐和格式设置
  • 分页、重复表头行(repeatHeader)和防止行拆分(fitElement)
  • 使用 PdfGridLayoutResult 动态定位多个表格
  • 合并单元格(rowSpan、columnSpan)、单元格图像、背景图像和超链接
  • 嵌套网格、无边框表格、更新数据源和水平溢出模式

📄 阅读: references/lists.md

创建列表时请参阅此参考:

  • 有序和无序列表
  • 嵌套列表结构
  • 自定义列表标记和图像标记(PdfImageMarker)
  • 列表格式选项和分页

📄 阅读: references/templates.md

创建可复用内容时请参阅此参考:

  • 创建页面模板
  • 动态内容盖印
  • 模板定位和布局
  • 在多个页面中复用内容
交互功能

📄 阅读: references/annotations.md

添加注释时请参阅此参考:

  • 注释类型(弹出、自由文本、线条、形状、墨迹、文本标记)
  • 云状边框样式自定义(borderEffect、PdfBorderEffectStyle)
  • 添加、配置和修改注释
  • 注释属性和外观
  • 将注释扁平化为静态内容

📄 阅读: references/bookmarks.md

设置导航时请参阅此参考:

  • 创建文档书签
  • 嵌套书签层级
  • 书签导航和链接
  • 修改现有书签

📄 阅读: references/form-fields.md

创建交互式表单时请参阅此参考:

  • 表单字段类型(文本、复选框、单选按钮、下拉列表、按钮)
  • 添加和配置表单字段
  • 字段验证和属性
  • 以编程方式填写表单数据
  • 导入/导出表单数据
  • 扁平化表单以移除交互功能

📄 阅读: references/hyperlinks.md

添加链接时请参阅此参考:

  • 添加网页超链接
  • 文档内部导航链接
  • 链接注释和外观
  • 导航操作
文档操作

📄 阅读: references/merge-documents.md

合并时请参考此文档:

  • 合并多个 PDF 文件
  • 从其他文档导入页面
  • 合并时保留书签
  • 合并工作流

📄 阅读: references/split-documents.md

拆分时请参考此文档:

  • 按页码范围拆分 PDF
  • 提取特定页面
  • 根据页面创建单独的文档

📄 阅读: references/watermarks.md

添加水印时请参考此文档:

  • 文本水印
  • 图像水印
  • 水印位置和布局
  • 不透明度和旋转设置

📄 阅读: references/layers.md

管理图层时请参考此文档:

  • 创建 PDF 图层(可选内容组)
  • 控制图层可见性
  • 向图层添加内容
  • 移除或扁平化图层
数据提取

📄 阅读: references/text-extraction.md

提取文本时请参考此文档:

  • 同步和异步文本提取(extractTextSync、extractText)
  • 按页码范围提取文本
  • 基于布局和边界的提取(extractTextLinesSync、extractTextLines)
  • 查找文本和边界矩形(findTextSync、findText)
  • 跨页面搜索多个文本值,并获取匹配项的坐标

📄 阅读: references/image-extraction.md

提取图像时请参考此文档:

  • 从 PDF 文档中提取图像
  • 图像数据格式
  • 保存提取的图像
  • 所需软件包:@syncfusion/ej2-pdf-data-extract
安全与保护

📄 阅读: references/digital-signatures.md

添加数字签名时请参考此文档:

  • 添加数字签名(标准签名和外部签名)
  • 基于证书的签名
  • 自定义签名外观
  • 使用嵌入式 OCSP/CRL 撤销信息进行长期验证(LTV)
  • 验证数字签名(单个字段和整个文档)
  • 时间戳服务器和证书信任链

📄 阅读: references/encryption.md

加密和保护文档时请参考此文档:

  • 使用 RC4(40 位、128 位)和 AES(128 位、256 位 Rev 5 和 Rev 6)加密文档
  • 用户密码(用于打开文档)和所有者密码(用于设置权限)
  • 文档权限限制(PdfPermissionFlag)和按位权限检查
  • 解密受保护的文档并更改密码
  • 检测密码保护并识别密码类型

📄 阅读: references/content-redaction.md

移除内容时请参考此文档:

  • 涂黑敏感文本
  • 形状涂黑
  • 涂黑批注
  • 永久移除内容

快速入门示例

import { PdfDocument, PdfPage, PdfGraphics, PdfFont, PdfFontFamily, PdfFontStyle, PdfBrush } from '@syncfusion/ej2-pdf';

// Create a new PDF document
let document: PdfDocument = new PdfDocument();

// Add a page
let page: PdfPage = document.addPage();

// Get graphics from the page
let graphics: PdfGraphics = page.graphics;

// Set font
let font: PdfFont = document.embedFont(PdfFontFamily.helvetica, 20, PdfFontStyle.regular);

// Create a brush
let brush = new PdfBrush({r: 0, g: 0, b: 0});

// Draw text
graphics.drawString('Hello World!', font, {x: 20, y: 20, width: 200, height: 50}, brush);

// Save the document
document.save('output.pdf');

// Clean up
document.destroy();

常见工作流

创建发票或报告
  1. 使用自定义页面设置创建文档
  2. 添加公司徽标(图像)
  3. 添加带格式的页眉文本
  4. 创建带边框的表格(形状 + 文本)
  5. 添加总计和页脚
  6. 保存并下载

从此处开始: references/getting-started.md,然后阅读 references/text-rendering.md 和 references/images.md

填写并扁平化 PDF 表单
  1. 加载带有表单字段的现有 PDF 文档
  2. 以编程方式填写表单字段
  3. 扁平化表单,使其不可编辑
  4. 保存修改后的文档

从此处开始: references/form-fields.md

从 PDF 中提取数据
  1. 加载现有 PDF 文档
  2. 从特定页面提取文本
  3. 按需提取图像
  4. 解析并处理提取的数据

从此处开始: references/text-extraction.md 和 references/image-extraction.md

合并多个 PDF
  1. 创建主文档
  2. 从源文档导入页面
  3. 可选:为各个部分添加书签
  4. 保存合并后的文档

从这里开始: references/merge-documents.md

添加数字签名
  1. 加载文档或创建新文档
  2. 使用证书配置数字签名
  3. 设置签名的外观和位置
  4. 保存已签名的文档

从这里开始: references/digital-signatures.md

特定平台的注意事项

TypeScript/JavaScript
  • 从 @syncfusion/ej2-pdf 直接导入
  • 适用于浏览器或 Node.js 环境
  • 通过浏览器下载或 Node.js fs 保存文件
Angular/React/Vue
  • 基于组件进行集成
  • 在组件生命周期中处理文件下载
  • 管理文档生成的状态
  • 在框架服务、钩子或组件方法中执行 Syncfusion PDF 操作,然后将生成的输出绑定到框架的下载或上传流程。
ASP.NET Core/MVC
  • 在服务端生成 PDF
  • 将 PDF 作为文件结果返回
  • 处理内存流

有关 TypeScript、JavaScript、Angular、React、Vue、ASP.NET Core 和 ASP.NET MVC 的特定平台设置详情及软件包示例,请参阅 references/getting-started.md。

关键属性和方法

PdfDocument
  • addPage(settings?) - 添加新页面
  • getPage(index) - 访问现有页面
  • save(filename) - 保存文档
  • destroy() - 清理资源
  • embedFont() - 加载字体以供使用
PdfGraphics
  • drawString(text, font, bounds, brush) - 绘制文本
  • drawImage(image, bounds) - 绘制图像
  • drawRectangle(pen, bounds) - 绘制矩形
  • save() - 保存图形状态
  • restore(state) - 恢复图形状态
PdfPage
  • graphics - 获取绘图区域
  • size - 获取页面尺寸
  • rotation - 获取或设置旋转角度

完整的 API 详情请参阅相应的参考文件。

常见用例

  1. 自动生成报告 - 创建带有表格(PdfGrid)、列表、图表和格式化文本的品牌报告
  2. 创建发票 - 使用包含明细项、合计金额和公司徽标的 PdfGrid 生成专业发票
  3. 生成证书 - 使用模板和自定义文本创建证书
  4. 填写表单 - 以编程方式填写 PDF 表单,以便批量处理
  5. 文档组装 - 将多个 PDF 合并为整合后的文档
  6. 数据提取和搜索 - 提取或查找文本及其边界,并从 PDF 中提取图像以供处理
  7. 数字签名和验证 - 使用 LTV 应用数字签名,并验证签名信任链
  8. 文档加密和访问控制 - 使用 AES 256 位加密、密码和权限保护文档
  9. 添加水印 - 为文档添加品牌或安全水印
  10. 涂黑 - 在分享前永久移除敏感信息
  11. 创建归档 - 转换文档,以满足长期存储和合规工作流的需求

故障排除提示

  • 缺少字体:确保在使用前通过 document.embedFont() 嵌入字体
  • 图像未显示:检查图像格式(JPEG/PNG)及数据(base64/Uint8Array)
  • 文件过大:使用增量更新或拆分操作
  • 内存问题:保存后调用 document.destroy()
  • 提取功能无法使用:安装 @syncfusion/ej2-pdf-data-extract 软件包

相关资源

  • 软件包:@syncfusion/ej2-pdf
  • 附加组件:@syncfusion/ej2-pdf-data-extract(用于提取功能)
  • 依赖项:@syncfusion/ej2-compression、@syncfusion/ej2-base

评论

支持 Markdown