Skip to content

Referencia de API

Esta página documenta cada struct y método público en pdf_oxide. Para los bindings de Python, consulte la Python API Reference. Para detalles de tipos y enums, consulte Types & Enums.

PdfDocument

El handle de documento de bajo nivel. Abra un archivo PDF, extraiga texto, imágenes y metadatos.

use pdf_oxide::PdfDocument;

Apertura y autenticación

Method Signature Descripción
open fn open(path: impl AsRef<Path>) -> Result<Self> Abrir un archivo PDF desde disco
open_from_bytes fn open_from_bytes(data: Vec<u8>) -> Result<Self> Abrir un PDF desde bytes en memoria
open_with_config fn open_with_config(path: impl AsRef<Path>, config: impl Any) -> Result<Self> Abrir con configuración del parser
authenticate fn authenticate(&mut self, password: &[u8]) -> Result<bool> Autenticar con contraseña de usuario o propietario

Metadatos

Method Signature Descripción
page_count fn page_count(&mut self) -> Result<usize> Número de páginas en el documento
page_count_u32 fn page_count_u32(&mut self) -> u32 Conteo de páginas como u32 (0 en error)
version fn version(&self) -> (u8, u8) Versión PDF como (major, minor)
trailer fn trailer(&self) -> &Object Diccionario trailer sin procesar
catalog fn catalog(&mut self) -> Result<Object> Diccionario catálogo del documento

Extracción de texto

Method Signature Descripción
extract_text fn extract_text(&mut self, page_index: usize) -> Result<String> Texto plano de una sola página
extract_all_text fn extract_all_text(&mut self) -> Result<String> Texto plano de todas las páginas
extract_spans fn extract_spans(&mut self, page_index: usize) -> Result<Vec<TextSpan>> Tramos de texto con metadatos de fuente
extract_spans_with_config fn extract_spans_with_config(&mut self, page_index: usize, config: &TextConfig) -> Result<Vec<TextSpan>> Spans con configuración personalizada
extract_chars fn extract_chars(&mut self, page_index: usize) -> Result<Vec<TextChar>> Posiciones y metadatos por carácter
extract_text_with_ocr fn extract_text_with_ocr(&mut self, page_index: usize) -> Result<String> Texto con respaldo OCR para páginas escaneadas
extract_spans_with_ocr fn extract_spans_with_ocr(&mut self, page_index: usize) -> Result<Vec<TextSpan>> Spans con respaldo OCR
apply_intelligent_text_processing fn apply_intelligent_text_processing(&self, spans: Vec<TextSpan>) -> Vec<TextSpan> Expansión de ligaduras, reconstrucción de guiones, limpieza OCR
extract_hierarchical_content fn extract_hierarchical_content(&mut self, page_index: usize) -> Result<Vec<ContentElement>> Árbol de contenido estructurado de PDFs etiquetados

Conversión

Method Signature Descripción
to_markdown fn to_markdown(&mut self, page_index: usize, options: &ConversionOptions) -> Result<String> Convertir página a Markdown
to_html fn to_html(&mut self, page_index: usize, options: &ConversionOptions) -> Result<String> Convertir página a HTML
to_plain_text fn to_plain_text(&mut self, page_index: usize) -> Result<String> Convertir página a texto plano
to_markdown_all fn to_markdown_all(&mut self, options: &ConversionOptions) -> Result<String> Todas las páginas a Markdown
to_html_all fn to_html_all(&mut self, options: &ConversionOptions) -> Result<String> Todas las páginas a HTML
to_plain_text_all fn to_plain_text_all(&mut self) -> Result<String> Todas las páginas a texto plano
to_markdown_with_ocr fn to_markdown_with_ocr(&mut self, page_index: usize, options: &ConversionOptions) -> Result<String> Markdown con respaldo OCR

Extracción de imágenes

Method Signature Descripción
extract_images fn extract_images(&mut self, page_index: usize) -> Result<Vec<ImageInfo>> Metadatos de imagen y datos sin procesar de una página
extract_images_to_files fn extract_images_to_files(&mut self, page_index: usize, output_dir: &str) -> Result<Vec<PathBuf>> Extraer y guardar imágenes en disco

Extracción de trazados y gráficos

Method Signature Descripción
extract_paths fn extract_paths(&mut self, page_index: usize) -> Result<Vec<PathContent>> Gráficos vectoriales de una página
extract_paths_in_rect fn extract_paths_in_rect(&mut self, page_index: usize, rect: Rect) -> Result<Vec<PathContent>> Trazados dentro de una región rectangular

Información de página

Method Signature Descripción
get_page_info fn get_page_info(&mut self, page_index: usize) -> Result<PageInfo> Dimensiones de página, rotación, cajas
get_page_resources fn get_page_resources(&mut self, page_index: usize) -> Result<Object> Diccionario de recursos sin procesar
get_page_content_data fn get_page_content_data(&mut self, page_index: usize) -> Result<Vec<u8>> Bytes de content stream sin procesar

Estructura y accesibilidad

Method Signature Descripción
structure_tree fn structure_tree(&mut self) -> Result<Option<StructTreeRoot>> Árbol de estructura etiquetado
mark_info fn mark_info(&mut self) -> Result<MarkInfo> Diccionario MarkInfo (etiquetado, sospechosos)

Bajo nivel

Method Signature Descripción
load_object fn load_object(&mut self, obj_ref: ObjectRef) -> Result<Object> Cargar un objeto PDF por referencia
resolve_object fn resolve_object(&mut self, obj: &Object) -> Result<Object> Resolver referencias indirectas
resolve_references fn resolve_references(&mut self, obj: &Object, max_depth: usize) -> Result<Object> Resolver recursivamente todas las referencias
check_for_circular_references fn check_for_circular_references(&mut self) -> Vec<(ObjectRef, ObjectRef)> Detectar cadenas de referencias circulares

Pdf

La API unificada de alto nivel. Un tipo para extracción, creación, edición, búsqueda y cumplimiento.

use pdf_oxide::api::Pdf;

Constructores

Method Signature Descripción
new fn new() -> Self Crear una instancia Pdf vacía
open fn open(path: impl AsRef<Path>) -> Result<Self> Abrir PDF existente para lectura
open_editor fn open_editor(path: impl AsRef<Path>) -> Result<DocumentEditor> Abrir para edición estructural
from_markdown fn from_markdown(content: &str) -> Result<Self> Crear PDF desde Markdown
from_html fn from_html(content: &str) -> Result<Self> Crear PDF desde HTML
from_text fn from_text(content: &str) -> Result<Self> Crear PDF desde texto plano
from_image fn from_image(path: impl AsRef<Path>) -> Result<Self> Crear PDF desde archivo de imagen
from_image_bytes fn from_image_bytes(data: &[u8]) -> Result<Self> Crear PDF desde bytes de imagen
from_images fn from_images<P: AsRef<Path>>(paths: &[P]) -> Result<Self> Múltiples páginas desde imágenes
from_qrcode fn from_qrcode(data: &str) -> Result<Self> PDF que contiene un código QR
from_qrcode_with_options fn from_qrcode_with_options(data: &str, size: f32, ecl: &str) -> Result<Self> Código QR con tamaño y corrección de errores personalizados
from_barcode fn from_barcode(data: &str, barcode_type: BarcodeType) -> Result<Self> PDF que contiene un código de barras
from_barcode_with_options fn from_barcode_with_options(data: &str, barcode_type: BarcodeType, width: f32, height: f32) -> Result<Self> Código de barras con dimensiones personalizadas

Extracción

Method Signature Descripción
page_count fn page_count(&mut self) -> Result<usize> Número de páginas
page fn page(&mut self, index: usize) -> Result<PdfPage> Handle de página tipo DOM
to_markdown fn to_markdown(&mut self, page: usize) -> Result<String> Página a Markdown
to_html fn to_html(&mut self, page: usize) -> Result<String> Página a HTML
to_text fn to_text(&mut self, page: usize) -> Result<String> Página a texto plano

Búsqueda

Method Signature Descripción
search fn search(&mut self, pattern: &str) -> Result<Vec<SearchResult>> Buscar en todas las páginas
search_with_options fn search_with_options(&mut self, pattern: &str, opts: &SearchOptions) -> Result<Vec<SearchResult>> Buscar con opciones
search_page fn search_page(&mut self, page: usize, pattern: &str) -> Result<Vec<SearchResult>> Buscar en una sola página
highlight_matches fn highlight_matches(&mut self, pattern: &str) -> Result<usize> Agregar anotaciones de resaltado para coincidencias

Metadatos

Method Signature Descripción
set_title fn set_title(&mut self, title: impl Into<String>) -> Result<()> Establecer título del documento
set_author fn set_author(&mut self, author: impl Into<String>) -> Result<()> Establecer autor
set_subject fn set_subject(&mut self, subject: impl Into<String>) -> Result<()> Establecer asunto
set_keywords fn set_keywords(&mut self, keywords: impl Into<String>) -> Result<()> Establecer palabras clave

Metadatos XMP

Method Signature Descripción
xmp_metadata fn xmp_metadata(&mut self) -> Result<Option<XmpMetadata>> Metadatos XMP completos
has_xmp_metadata fn has_xmp_metadata(&mut self) -> Result<bool> Verificar presencia de XMP
xmp_title fn xmp_title(&mut self) -> Result<Option<String>> XMP dc:title
xmp_creators fn xmp_creators(&mut self) -> Result<Vec<String>> XMP dc:creator list
xmp_description fn xmp_description(&mut self) -> Result<Option<String>> XMP dc:description
xmp_creator_tool fn xmp_creator_tool(&mut self) -> Result<Option<String>> XMP xmp:CreatorTool
xmp_create_date fn xmp_create_date(&mut self) -> Result<Option<String>> XMP xmp:CreateDate
xmp_modify_date fn xmp_modify_date(&mut self) -> Result<Option<String>> XMP xmp:ModifyDate
xmp_producer fn xmp_producer(&mut self) -> Result<Option<String>> XMP pdf:Producer

Etiquetas de página

Method Signature Descripción
page_labels fn page_labels(&mut self) -> Result<Vec<PageLabelRange>> Rangos de etiquetas de página
page_label fn page_label(&mut self, page: usize) -> Result<String> Etiqueta para una página específica
all_page_labels fn all_page_labels(&mut self) -> Result<Vec<String>> Etiquetas para cada página

Operaciones de página

Method Signature Descripción
page_rotation fn page_rotation(&mut self, page: usize) -> Result<i32> Rotación actual en grados
set_page_rotation fn set_page_rotation(&mut self, page: usize, degrees: i32) -> Result<()> Establecer rotación absoluta
rotate_page fn rotate_page(&mut self, page: usize, degrees: i32) -> Result<()> Agregar rotación relativa
rotate_all_pages fn rotate_all_pages(&mut self, degrees: i32) -> Result<()> Rotar todas las páginas
page_media_box fn page_media_box(&mut self, page: usize) -> Result<[f32; 4]> Dimensiones del MediaBox
set_page_media_box fn set_page_media_box(&mut self, page: usize, rect: [f32; 4]) -> Result<()> Establecer MediaBox
page_crop_box fn page_crop_box(&mut self, page: usize) -> Result<Option<[f32; 4]>> Dimensiones del CropBox
set_page_crop_box fn set_page_crop_box(&mut self, page: usize, rect: [f32; 4]) -> Result<()> Establecer CropBox
crop_margins fn crop_margins(&mut self, left: f32, right: f32, top: f32, bottom: f32) -> Result<()> Recortar todas las páginas por márgenes

Edición de contenido

Method Signature Descripción
save_page fn save_page(&mut self, page: PdfPage) -> Result<()> Guardar página modificada
erase_region fn erase_region(&mut self, page: usize, rect: [f32; 4]) -> Result<()> Blanquear un área rectangular
erase_regions fn erase_regions(&mut self, page: usize, rects: &[[f32; 4]]) -> Result<()> Blanquear múltiples áreas
clear_erase_regions fn clear_erase_regions(&mut self, page: usize) Limpiar operaciones de borrado pendientes

Anotaciones

Method Signature Descripción
flatten_page_annotations fn flatten_page_annotations(&mut self, page: usize) -> Result<()> Aplanar anotaciones en una página
flatten_all_annotations fn flatten_all_annotations(&mut self) -> Result<()> Aplanar todas las anotaciones
is_page_marked_for_flatten fn is_page_marked_for_flatten(&self, page: usize) -> bool Verificar estado de aplanamiento
unmark_page_for_flatten fn unmark_page_for_flatten(&mut self, page: usize) Desmarcar una página

Formularios

Method Signature Descripción
flatten_forms_on_page fn flatten_forms_on_page(&mut self, page: usize) -> Result<()> Aplanar formularios en una página
flatten_forms fn flatten_forms(&mut self) -> Result<()> Aplanar todos los campos de formulario
is_page_marked_for_form_flatten fn is_page_marked_for_form_flatten(&self, page: usize) -> bool Verificar si los formularios de la página están marcados para aplanar
will_remove_acroform fn will_remove_acroform(&self) -> bool Verificar si AcroForm será eliminado al guardar
export_form_data_fdf fn export_form_data_fdf(&mut self, output_path: impl AsRef<Path>) -> Result<()> Exportar datos de formulario como FDF
export_form_data_xfdf fn export_form_data_xfdf(&mut self, output_path: impl AsRef<Path>) -> Result<()> Exportar datos de formulario como XFDF

Redacciones

Method Signature Descripción
apply_page_redactions fn apply_page_redactions(&mut self, page: usize) -> Result<()> Aplicar redacciones en una página
apply_all_redactions fn apply_all_redactions(&mut self) -> Result<()> Aplicar todas las redacciones pendientes
is_page_marked_for_redaction fn is_page_marked_for_redaction(&self, page: usize) -> bool Verificar si la página tiene redacciones pendientes
unmark_page_for_redaction fn unmark_page_for_redaction(&mut self, page: usize) Eliminar redacciones pendientes de una página

Imágenes

Method Signature Descripción
page_images fn page_images(&mut self, page: usize) -> Result<Vec<ImageInfo>> Listar imágenes en una página
reposition_image fn reposition_image(&mut self, page: usize, image_index: usize, x: f32, y: f32) -> Result<()> Mover una imagen
resize_image fn resize_image(&mut self, page: usize, image_index: usize, width: f32, height: f32) -> Result<()> Redimensionar una imagen
set_image_bounds fn set_image_bounds(&mut self, page: usize, image_index: usize, rect: [f32; 4]) -> Result<()> Establecer cuadro delimitador de imagen
clear_image_modifications fn clear_image_modifications(&mut self, page: usize) Limpiar modificaciones de imagen pendientes
has_image_modifications fn has_image_modifications(&self, page: usize) -> bool Verificar modificaciones de imagen pendientes

Archivos embebidos

Method Signature Descripción
embed_file fn embed_file(&mut self, name: &str, data: Vec<u8>) -> Result<()> Adjuntar un archivo
embed_file_with_options fn embed_file_with_options(&mut self, file: EmbeddedFile) -> Result<()> Adjuntar con configuración completa
pending_embedded_files fn pending_embedded_files(&self) -> &[EmbeddedFile] Listar adjuntos de archivo pendientes
clear_embedded_files fn clear_embedded_files(&mut self) Limpiar adjuntos de archivo pendientes

Renderizado (requiere la característica rendering)

Method Signature Descripción
render_page fn render_page(&mut self, page: usize) -> Result<RenderedImage> Renderizar a imagen
render_page_with_options fn render_page_with_options(&mut self, page: usize, opts: &RenderOptions) -> Result<RenderedImage> Renderizar con opciones
render_page_to_file fn render_page_to_file(&mut self, page: usize, path: impl AsRef<Path>) -> Result<()> Renderizar y guardar en archivo
render_page_to_file_with_dpi fn render_page_to_file_with_dpi(&mut self, page: usize, path: impl AsRef<Path>, dpi: f32) -> Result<()> Renderizar con DPI personalizado

Guardar

Method Signature Descripción
save fn save(&mut self, path: impl AsRef<Path>) -> Result<()> Guardar en archivo
save_as fn save_as(&mut self, path: impl AsRef<Path>) -> Result<()> Guardar en un archivo diferente
save_encrypted fn save_encrypted(&mut self, path: impl AsRef<Path>, user_password: &str, owner_password: &str) -> Result<()> Guardar con protección de contraseña
save_with_encryption fn save_with_encryption(&mut self, path: impl AsRef<Path>, config: EncryptionConfig) -> Result<()> Guardar con configuración completa de encriptación
as_bytes fn as_bytes(&self) -> &[u8] Bytes del PDF (modo creación)
into_bytes fn into_bytes(mut self) -> Vec<u8> Consumir y retornar bytes del PDF
to_bytes fn to_bytes(&mut self) -> Result<Vec<u8>> Generar bytes del PDF
to_markdown_file fn to_markdown_file(&mut self, path: impl AsRef<Path>) -> Result<()> Guardar todas las páginas como archivo Markdown

Accesores

Method Signature Descripción
source_path fn source_path(&self) -> Option<&Path> Ruta del archivo abierto
editor fn editor(&mut self) -> Option<&mut DocumentEditor> Acceder al editor subyacente
config fn config(&self) -> &PdfConfig Configuración actual
is_modified fn is_modified(&self) -> bool Si el documento tiene cambios sin guardar

PdfBuilder

Constructor fluido para crear PDFs con configuración de metadatos y diseño.

use pdf_oxide::api::PdfBuilder;
use pdf_oxide::writer::PageSize;
Method Signature Descripción
new fn new() -> Self Crear un nuevo constructor
title fn title(self, title: impl Into<String>) -> Self Establecer título
author fn author(self, author: impl Into<String>) -> Self Establecer autor
subject fn subject(self, subject: impl Into<String>) -> Self Establecer asunto
keywords fn keywords(self, keywords: impl Into<String>) -> Self Establecer palabras clave
page_size fn page_size(self, size: PageSize) -> Self Establecer tamaño de página
margin fn margin(self, margin: f32) -> Self Establecer márgenes uniformes
margins fn margins(self, left: f32, right: f32, top: f32, bottom: f32) -> Self Establecer márgenes individuales
font_size fn font_size(self, size: f32) -> Self Establecer tamaño de fuente
line_height fn line_height(self, height: f32) -> Self Establecer altura de línea
from_markdown fn from_markdown(self, content: &str) -> Result<Pdf> Construir desde Markdown
from_html fn from_html(self, content: &str) -> Result<Pdf> Construir desde HTML
from_text fn from_text(self, content: &str) -> Result<Pdf> Construir desde texto plano
from_image fn from_image(self, path: impl AsRef<Path>) -> Result<Pdf> Construir desde imagen
from_image_bytes fn from_image_bytes(self, data: &[u8]) -> Result<Pdf> Construir desde bytes de imagen
from_images fn from_images<P: AsRef<Path>>(self, paths: &[P]) -> Result<Pdf> Construir desde múltiples imágenes
from_qrcode fn from_qrcode(self, data: &str) -> Result<Pdf> Construir desde datos de código QR
from_barcode fn from_barcode(self, data: &str, barcode_type: BarcodeType) -> Result<Pdf> Construir desde datos de código de barras

DocumentBuilder

Constructor de bajo nivel para diseño de página con precisión de píxel.

use pdf_oxide::writer::DocumentBuilder;
Method Signature Descripción
new fn new() -> Self Crear un nuevo constructor
metadata fn metadata(self, metadata: DocumentMetadata) -> Self Establecer metadatos del documento
page fn page(&mut self, size: PageSize) -> FluentPageBuilder Agregar una página con tamaño nombrado
letter_page fn letter_page(&mut self) -> FluentPageBuilder Agregar página US Letter
a4_page fn a4_page(&mut self) -> FluentPageBuilder Agregar página A4
build fn build(self) -> Result<Vec<u8>> Generar bytes del PDF
save fn save(self, path: impl AsRef<Path>) -> Result<()> Guardar en archivo

FluentPageBuilder

Retornado por DocumentBuilder::page(). Encadene llamadas para agregar contenido a una página:

Método Descripción
text(text, x, y, size) Colocar texto en coordenadas exactas
heading(level, text) Agregar un encabezado (H1-H6)
paragraph(text) Agregar un párrafo con ajuste automático
space(points) Agregar espacio vertical
horizontal_rule() Dibujar una línea horizontal
link_url(url) Agregar anotación de enlace URL
link_page(page) Agregar enlace de página interna
highlight(color) Agregar anotación de resaltado
underline(color) Agregar anotación de subrayado
strikeout(color) Agregar anotación de tachado
sticky_note(text) Agregar nota adhesiva
stamp(stamp_type) Agregar anotación de sello
freetext(rect, text) Agregar anotación de texto libre
watermark(text) Agregar superposición de marca de agua
add_annotation(annotation) Agregar cualquier tipo de anotación
done() Finalizar página, volver al constructor

DocumentEditor

Abrir un PDF existente para modificaciones estructurales.

use pdf_oxide::editor::DocumentEditor;

Núcleo

Method Signature Descripción
open fn open(path: impl AsRef<Path>) -> Result<Self> Abrir archivo para edición
is_modified fn is_modified(&self) -> bool Verificar cambios sin guardar
source_path fn source_path(&self) -> &str Ruta del archivo original
source fn source(&self) -> &PdfDocument Documento subyacente (lectura)
source_mut fn source_mut(&mut self) -> &mut PdfDocument Documento subyacente (escritura)
version fn version(&self) -> (u8, u8) Versión PDF
current_page_count fn current_page_count(&self) -> usize Conteo de páginas

Metadatos

Método Descripción
title() / set_title() Obtener/establecer título del documento
author() / set_author() Obtener/establecer autor
subject() / set_subject() Obtener/establecer asunto
keywords() / set_keywords() Obtener/establecer palabras clave

Operaciones de página

Método Descripción
get_page_rotation() / set_page_rotation() Obtener/establecer rotación
rotate_page_by() Agregar rotación relativa
rotate_all_pages() Rotar todas las páginas
get_page_media_box() / set_page_media_box() Obtener/establecer MediaBox
get_page_crop_box() / set_page_crop_box() Obtener/establecer CropBox
crop_margins() Recortar todas las páginas por márgenes
erase_region() / erase_regions() Blanquear contenido
extract_pages() Extraer páginas a archivo separado
merge_from() / merge_pages_from() Combinar páginas de otro PDF

Edición tipo DOM

Method Signature Descripción
get_page fn get_page(&mut self, page_index: usize) -> Result<PdfPage> Obtener handle de página DOM
save_page fn save_page(&mut self, page: PdfPage) -> Result<()> Guardar página modificada
edit_page fn edit_page<F>(&mut self, page_index: usize, f: F) -> Result<()> Editar con closure
page_editor fn page_editor(&mut self, page_index: usize) -> Result<PageEditor> Obtener editor de página
get_page_content fn get_page_content(&mut self, page_index: usize) -> Result<Option<StructureElement>> Obtener estructura de página
set_page_content fn set_page_content(&mut self, page_index: usize, content: StructureElement) -> Result<()> Establecer estructura de página
modify_structure fn modify_structure<F>(&mut self, page_index: usize, f: F) -> Result<()> Modificar estructura con closure

Campos de formulario

Método Descripción
get_form_fields() Listar todos los campos de formulario
get_form_field_value(name) Obtener valor del campo por nombre
set_form_field_value(name, value: FormFieldValue) Establecer valor del campo por nombre
has_form_field(name) Verificar existencia del campo
add_form_field(widget) Agregar un nuevo campo de formulario
flatten_forms_on_page(page) Aplanar formularios en una página
flatten_forms() Aplanar todos los campos de formulario
export_form_data_fdf(path) Exportar como FDF
export_form_data_xfdf(path) Exportar como XFDF
has_xfa() Verificar formularios XFA
analyze_xfa() Analizar datos de formulario XFA
convert_xfa_to_acroform() Convertir XFA a AcroForm

Anotaciones y aplanamiento

Método Descripción
flatten_page_annotations(page) Aplanar anotaciones en una página
flatten_all_annotations() Aplanar todas las anotaciones
get_page_annotations(page) Listar anotaciones en una página

Archivos embebidos

Método Descripción
embed_file(name, data) Adjuntar un archivo
embed_file_with_options(file) Adjuntar con configuración completa
pending_embedded_files() Listar adjuntos pendientes
clear_embedded_files() Limpiar adjuntos pendientes

Tipos DOM

PdfPage

Representa una sola página con elementos consultables y editables.

Método Descripción
elements() Todos los elementos de la página
text_elements() Solo elementos de texto
image_elements() Solo elementos de imagen
path_elements() Solo elementos de trazado/gráficos
table_elements() Solo elementos de tabla
find_text_containing(needle) Buscar texto que coincida con subcadena
set_text(id, new_text) Reemplazar texto por ID de elemento

PdfText

Method Return Descripción
id() ElementId Identificador único de elemento
text() &str Contenido de texto
bbox() Rect Rectángulo delimitador
font_name() &str Nombre de fuente
font_size() f32 Tamaño de fuente en puntos
is_bold() bool Peso negrita
is_italic() bool Estilo cursiva
color() Color Color del texto
set_text(new) Reemplazar texto
append(text) Agregar texto
replace(old, new) usize Reemplazar ocurrencias
clear() Limpiar texto

PdfImage

Method Return Descripción
id() ElementId Identificador único
bbox() Rect Rectángulo delimitador
format() ImageFormat Formato de imagen
dimensions() (u32, u32) Ancho y alto en píxeles
aspect_ratio() f32 Relación ancho / alto
is_grayscale() bool Verificación de escala de grises
alt_text() Option<&str> Texto alternativo para accesibilidad
resolution() Option<(f32, f32)> DPI como (horizontal, vertical)

PdfPath

Method Return Descripción
id() ElementId Identificador único
bbox() Rect Rectángulo delimitador
operations() &[PathOperation] Operaciones de dibujo de trazado
stroke_color() Option<Color> Color de trazo
fill_color() Option<Color> Color de relleno
stroke_width() f32 Ancho de línea
line_cap() LineCap Estilo de terminación de línea
line_join() LineJoin Estilo de unión de línea
is_closed() bool Si el trazado está cerrado
to_svg() String Convertir a datos de trazado SVG
to_svg_document() String Convertir a SVG independiente

PdfTable

Method Return Descripción
id() ElementId Identificador único
bbox() Rect Rectángulo delimitador
row_count() usize Número de filas
column_count() usize Número de columnas
has_header() bool Si la primera fila es un encabezado
get_cell(row, col) Option<&TableCellContent> Contenido de celda
caption() Option<&str> Título de tabla

TextoSearcher

use pdf_oxide::search::{TextSearcher, SearchOptions, SearchResult};

SearchOptions

Campo Tipo Predeterminado Descripción
case_sensitive bool true Coincidencia sensible a mayúsculas
literal bool false Tratar patrón como literal (no regex)
whole_word bool false Coincidir solo palabras completas
max_results Option<usize> None Limitar número de resultados
page_range Option<(usize, usize)> None Restringir a rango de páginas

SearchResult

Campo Tipo Descripción
page usize Índice de página
text String Texto coincidente
x f64 Posición X en puntos
y f64 Posición Y en puntos

FormField y XmpExtractor

FormField (lectura)

Campo Tipo Descripción
name String Nombre completo calificado del campo
field_type FieldType Text, Button, Choice, Signature
value Option<String> Valor actual
rect Option<Rect> Límites del widget
flags u32 Indicadores de campo

XmpExtractor

use pdf_oxide::extractors::xmp::XmpExtractor;

Métodos estáticos que operan sobre un PdfDocument:

Method Return Descripción
extract(doc) Result<Option<XmpMetadata>> Extraer metadatos XMP

XmpMetadata

Campo Tipo Descripción
title Option<String> dc:title
creators Vec<String> dc:creator
description Option<String> dc:description
creator_tool Option<String> xmp:CreatorTool
create_date Option<String> xmp:CreateDate
modify_date Option<String> xmp:ModifyDate
producer Option<String> pdf:Producer

PáginaLabelExtractor

use pdf_oxide::extractors::page_labels::PageLabelExtractor;
Method Return Descripción
extract(doc) Result<Vec<PageLabelRange>> Extraer definiciones de etiquetas de página
label_for_page(doc, page) Result<String> Calcular etiqueta para una página específica
all_labels(doc) Result<Vec<String>> Calcular etiquetas para cada página

Funciones independientes

use pdf_oxide::document::{parse_header, parse_trailer};
Function Signature Descripción
parse_header fn parse_header<R: Read + Seek>(reader: &mut R, lenient: bool) -> Result<(u8, u8, u64)> Analizar encabezado PDF, retorna (mayor, menor, byte_offset)
parse_trailer fn parse_trailer<R: Read>(reader: &mut R) -> Result<Object> Analizar el diccionario trailer

Próximos pasos