Skip to main content

Crate easypdf

Crate easypdf 

Source
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§

AtomicFileOutput
将完整结果先写入同目录临时文件,再原子替换目标文件。
DetailedEngineCapabilities
使用渐进式 CapabilityLevel 值的详细引擎能力。
DetailedProcessorCapabilities
基于 CapabilityLevel 的细粒度处理器能力声明。
EasyPdf
easypdf-rust 所有操作的主入口。
EngineCapabilities
描述 PDF 引擎支持哪些操作。
FlowLayout
在页面内自动定位内容的流式布局器。
FontStyle
字体样式修饰符。
ImageData
从 PDF 中识别的图片信息。
ListItem
列表中的单个条目,支持递归嵌套子列表。
MarkdownConversionResult
PDF 到 Markdown 的内存转换结果。
MarkdownExportReport
PDF 到 Markdown 转换的统计与警告。
MarkdownExportResult
已完成的 Markdown 文件及转换报告。
MarkdownProcessorCapabilities
PDF 到 Markdown 语义处理器能够提供的增强能力。
MarkdownRenderer
将语义文档模型渲染为 Markdown 字符串。
PageIndex
PDF 页的零基索引,适用于 Rust API 与范围选择。
PageNumber
PDF 页的一基显示编号,适用于 PDF 引擎及用户展示。
PageNumberHandler
向每页添加页码的写入处理器。
PageRange
PDF 页的左闭右开零基范围。
PdfBookmark
单个书签/大纲条目。
PdfCreateBuilder
用于创建新 PDF 文档的 Builder。
PdfDocumentModel
PDF 文档的引擎无关语义表示。
PdfFieldDescriptor
PdfModel 中单个字段的描述符,由派生宏生成。
PdfFillBuilder
用于填充 PDF 表单模板的 Builder。
PdfFont
完整的字体规格。
PdfImage
要嵌入 PDF 的图片。
PdfImageBuilder
用于在 PDF 中放置图片的 Builder,由 PdfCreateBuilder::add_image 返回。
PdfLine
线段。
PdfManipulateBuilder
用于 PDF 操作(旋转、重排、水印)的 Builder。
PdfManipulator
对现有 PDF 文档执行操作的操作器。
PdfMarkdownBuilder
PDF 到 Markdown 的链式内存转换构建器。
PdfMarkdownExportBuilder
PDF 到 Markdown 的链式导出构建器。
PdfMetadata
PDF 文档级元数据。
PdfModelMetadata
PdfModel 关联的元数据(通常来自 #[pdf(...)] 属性)。
PdfPageModel
一页 PDF 的语义内容。
PdfPositionedTextBuilder
带显式位置的文本 Builder。
PdfReadBuilder
用于从 PDF 中读取/提取内容的 Builder。
PdfReader
从 PDF 文档中提取内容的读取器。
PdfRect
矩形。
PdfSplitBuilder
用于将 PDF 拆分为单页文件的 Builder。
PdfTable
要在 PDF 中渲染的表格配置。
PdfTableBuilder
用于在 PDF 中放置表格的 Builder,由 PdfCreateBuilder::add_table 返回。
PdfTableCell
表格中的单个单元格。
PdfTemplateFiller
用于填充 PDF 表单和占位符的模板填充器。
PdfText
带格式的定位文本块。
PdfTextBuilder
用于向 PDF 添加文本的 Builder,由 PdfCreateBuilder::add_text 返回。
PdfWriter
用于创建新 PDF 文档的写入器。
PdfWriterBuilder
用于构造具有高级配置的 PdfWriter 的构建器。
ProcessorPipeline
处理器管道:按优先级确定性组合多个 PdfMarkdownProcessor
RepairOptions
控制尝试哪些修复通道的选项。
ResourceLimits
PDF 读取与转换过程的资源上限。
SourceLocation
语义内容在源 PDF 中的位置与识别置信度。
TableBorder
表格单元格边框定义。
TableStyle
预定义表格样式。

Enums§

BuiltInFont
保证在每个 PDF 阅读器中可用的 14 种标准 Type 1 字体。
CapabilityLevel
用于细粒度引擎功能报告的渐进式能力级别。
Direction
流式布局方向。
FontFamily
字体族规格。
ImageFormat
图片格式枚举。
ImagePolicy
PDF 图片转换策略。
LayoutDirection
流式布局方向。
MarkdownProfile
Markdown 输出配置档。
MarkdownWarning
不阻止转换完成的结构化警告。
OcrPolicy
OCR 回退策略。
Orientation
页面方向。
PageSize
标准页面尺寸(PDF 点,1 点 = 1/72 英寸)。
PdfBlock
从 PDF 页面识别出的语义内容块。
PdfBlockType
内容块的语义分类,与 PdfBlock 变体一一对应。
PdfColor
表示不同颜色空间中的颜色。
PdfError
easypdf-rust 的核心错误类型。
PdfErrorCode
稳定的机器可读 PDF 错误分类。
PdfInput
可从文件路径或内存字节读取的 PDF 输入。
ProcessorCapability
可查询的处理器能力维度。
ReadStrategy
PDF 读取策略枚举。
RenderedElement
PdfModel 生成的渲染元素。
Rotation
旋转角度(顺时针,单位为度)。
TablePolicy
PDF 表格转换策略。
TextAlignment
水平文本对齐方式。
VerticalAlignment
垂直对齐方式。
WriteBackend
PDF 写入后端选择。

Constants§

PRIORITY_GENERIC
默认优先级常量:对齐 markitdown 的 PRIORITY_GENERIC_FILE_FORMAT
PRIORITY_SPECIFIC
默认优先级常量:对齐 markitdown 的 PRIORITY_SPECIFIC_FILE_FORMAT

Traits§

LayoutSink
接收中立布局操作的 PDF 写入后端。
PdfConverter
Rust 类型 T 与 PDF 字符串表示之间的双向转换器。
PdfEngine
用于后端切换的抽象 PDF 引擎接口。
PdfMarkdownProcessor
在基础文本提取之后、Markdown 渲染之前增强语义文档模型。
PdfModel
可渲染为 PDF 内容的类型 trait。
PdfReadListener
PDF 读取操作的事件驱动监听器。
PdfWriteHandler
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
使用线条和文本在写入器上渲染表格。

Type Aliases§

Result
使用 PdfError 作为错误变体的便捷 Result 类型。

Derive Macros§

PdfModel
生成 PdfModel trait 实现的 derive 宏。