Expand description
§easypdf-rust
符合 Rust 惯用法的 PDF 操作库:创建、读取、操作和表单填充。 受阿里巴巴 EasyExcel 的 builder 模式 API 设计启发。
§快速示例
创建 PDF:
ⓘ
use easypdf::prelude::*;
EasyPdf::create("output.pdf")
.page(PageSize::A4)
.add_text("Hello, world!")
.font(PdfFont::helvetica(12.0))
.do_write()?;读取 PDF:
ⓘ
let text = EasyPdf::read("input.pdf").extract_text()?;合并 PDF:
ⓘ
EasyPdf::merge(&["a.pdf", "b.pdf"], "merged.pdf")?;填充表单:
ⓘ
#[derive(PdfModel)]
struct MyData {
#[pdf(field = "name")]
name: String,
}
EasyPdf::fill_form("template.pdf", &MyData { name: "Alice".into() })
.save("filled.pdf")?;Modules§
- content
- PDF 元素的内容模型类型——文本、表格、图片和形状。
- converter_
registry PdfConverter实例的类型擦除转换器注册表。- crypto
- PDF 加密与数字签名操作(ISO 32000)。
- enums
easypdf-rust中使用的枚举类型。- error
easypdf-rust的错误类型。- event
- 基于事件监听器的 PDF 处理。
- handler_
chain - 基于优先级的写入处理程序执行链。
- io
- PDF 输入、资源限制与原子化输出基础设施。
- layout
- 与 PDF 写入后端解耦的自动流式布局。
- logging
- 可观测性初始化与日志工具。
- metadata
- PDF 文档的元数据类型。
- model
- 与引擎无关的语义文档模型。
- page_
index - Zero-based PDF page index.
- page_
number - One-based PDF page number.
- page_
range - Validated zero-based page range.
- prelude
easypdf的便捷重导出。- style
- 样式类型——颜色、字体和边框。
- traits
- 定义
easypdf-rust核心扩展点的 trait。
Structs§
- Atomic
File Output - 将完整结果先写入同目录临时文件,再原子替换目标文件。
- Detailed
Engine Capabilities - 使用渐进式
CapabilityLevel值的详细引擎能力。 - Detailed
Processor Capabilities - 基于
CapabilityLevel的细粒度处理器能力声明。 - EasyPdf
easypdf-rust所有操作的主入口。- Engine
Capabilities - 描述 PDF 引擎支持哪些操作。
- Flow
Layout - 在页面内自动定位内容的流式布局器。
- Font
Style - 字体样式修饰符。
- Image
Data - 从 PDF 中识别的图片信息。
- List
Item - 列表中的单个条目,支持递归嵌套子列表。
- Markdown
Conversion Result - PDF 到 Markdown 的内存转换结果。
- Markdown
Export Report - PDF 到 Markdown 转换的统计与警告。
- Markdown
Export Result - 已完成的 Markdown 文件及转换报告。
- Markdown
Processor Capabilities - PDF 到 Markdown 语义处理器能够提供的增强能力。
- Markdown
Renderer - 将语义文档模型渲染为 Markdown 字符串。
- Page
Index - PDF 页的零基索引,适用于 Rust API 与范围选择。
- Page
Number - PDF 页的一基显示编号,适用于 PDF 引擎及用户展示。
- Page
Number Handler - 向每页添加页码的写入处理器。
- Page
Range - PDF 页的左闭右开零基范围。
- PdfBookmark
- 单个书签/大纲条目。
- PdfCreate
Builder - 用于创建新 PDF 文档的 Builder。
- PdfDocument
Model - PDF 文档的引擎无关语义表示。
- PdfField
Descriptor PdfModel中单个字段的描述符,由派生宏生成。- PdfFill
Builder - 用于填充 PDF 表单模板的 Builder。
- PdfFont
- 完整的字体规格。
- PdfImage
- 要嵌入 PDF 的图片。
- PdfImage
Builder - 用于在 PDF 中放置图片的 Builder,由
PdfCreateBuilder::add_image返回。 - PdfLine
- 线段。
- PdfManipulate
Builder - 用于 PDF 操作(旋转、重排、水印)的 Builder。
- PdfManipulator
- 对现有 PDF 文档执行操作的操作器。
- PdfMarkdown
Builder - PDF 到 Markdown 的链式内存转换构建器。
- PdfMarkdown
Export Builder - PDF 到 Markdown 的链式导出构建器。
- PdfMetadata
- PDF 文档级元数据。
- PdfModel
Metadata - 与
PdfModel关联的元数据(通常来自#[pdf(...)]属性)。 - PdfPage
Model - 一页 PDF 的语义内容。
- PdfPositioned
Text Builder - 带显式位置的文本 Builder。
- PdfRead
Builder - 用于从 PDF 中读取/提取内容的 Builder。
- PdfReader
- 从 PDF 文档中提取内容的读取器。
- PdfRect
- 矩形。
- PdfSplit
Builder - 用于将 PDF 拆分为单页文件的 Builder。
- PdfTable
- 要在 PDF 中渲染的表格配置。
- PdfTable
Builder - 用于在 PDF 中放置表格的 Builder,由
PdfCreateBuilder::add_table返回。 - PdfTable
Cell - 表格中的单个单元格。
- PdfTemplate
Filler - 用于填充 PDF 表单和占位符的模板填充器。
- PdfText
- 带格式的定位文本块。
- PdfText
Builder - 用于向 PDF 添加文本的 Builder,由
PdfCreateBuilder::add_text返回。 - PdfWriter
- 用于创建新 PDF 文档的写入器。
- PdfWriter
Builder - 用于构造具有高级配置的
PdfWriter的构建器。 - Processor
Pipeline - 处理器管道:按优先级确定性组合多个
PdfMarkdownProcessor。 - Repair
Options - 控制尝试哪些修复通道的选项。
- Resource
Limits - PDF 读取与转换过程的资源上限。
- Source
Location - 语义内容在源 PDF 中的位置与识别置信度。
- Table
Border - 表格单元格边框定义。
- Table
Style - 预定义表格样式。
Enums§
- Built
InFont - 保证在每个 PDF 阅读器中可用的 14 种标准 Type 1 字体。
- Capability
Level - 用于细粒度引擎功能报告的渐进式能力级别。
- Direction
- 流式布局方向。
- Font
Family - 字体族规格。
- Image
Format - 图片格式枚举。
- Image
Policy - PDF 图片转换策略。
- Layout
Direction - 流式布局方向。
- Markdown
Profile - Markdown 输出配置档。
- Markdown
Warning - 不阻止转换完成的结构化警告。
- OcrPolicy
- OCR 回退策略。
- Orientation
- 页面方向。
- Page
Size - 标准页面尺寸(PDF 点,1 点 = 1/72 英寸)。
- PdfBlock
- 从 PDF 页面识别出的语义内容块。
- PdfBlock
Type - 内容块的语义分类,与
PdfBlock变体一一对应。 - PdfColor
- 表示不同颜色空间中的颜色。
- PdfError
easypdf-rust的核心错误类型。- PdfError
Code - 稳定的机器可读 PDF 错误分类。
- PdfInput
- 可从文件路径或内存字节读取的 PDF 输入。
- Processor
Capability - 可查询的处理器能力维度。
- Read
Strategy - PDF 读取策略枚举。
- Rendered
Element - 由
PdfModel生成的渲染元素。 - Rotation
- 旋转角度(顺时针,单位为度)。
- Table
Policy - PDF 表格转换策略。
- Text
Alignment - 水平文本对齐方式。
- Vertical
Alignment - 垂直对齐方式。
- Write
Backend - PDF 写入后端选择。
Constants§
- PRIORITY_
GENERIC - 默认优先级常量:对齐 markitdown 的
PRIORITY_GENERIC_FILE_FORMAT。 - PRIORITY_
SPECIFIC - 默认优先级常量:对齐 markitdown 的
PRIORITY_SPECIFIC_FILE_FORMAT。
Traits§
- Layout
Sink - 接收中立布局操作的 PDF 写入后端。
- PdfConverter
- Rust 类型
T与 PDF 字符串表示之间的双向转换器。 - PdfEngine
- 用于后端切换的抽象 PDF 引擎接口。
- PdfMarkdown
Processor - 在基础文本提取之后、Markdown 渲染之前增强语义文档模型。
- PdfModel
- 可渲染为 PDF 内容的类型 trait。
- PdfRead
Listener - PDF 读取操作的事件驱动监听器。
- PdfWrite
Handler - PDF 写入操作的生命周期钩子。
Functions§
- attempt_
repair - 尝试修复 PDF 并返回修复后的字节。
- guard_
decompression_ bomb - 拒绝解压后大小或压缩比超出配置限制的流。
- guard_
element_ explosion - 拒绝元素数量超出配置限制的文档。
- init_
logging - 使用紧凑的人类可读输出初始化全局 tracing 订阅者。
- init_
logging_ json - 使用结构化 JSON 输出初始化全局 tracing 订阅者。
- is_
likely_ corrupt - 快速检查:输入无法作为有效 PDF 解析时返回
true。 - validate_
io_ url - 验证 URL,拒绝可能用于 SSRF 攻击的协议和主机。
- write_
table - 使用线条和文本在写入器上渲染表格。