Expand description
PDF-AST: A comprehensive PDF analysis library providing Abstract Syntax Tree representation and security analysis capabilities for PDF documents.
This library offers:
- Full PDF parsing with tolerance for malformed documents
- AST-based graph representation of PDF structure
- Advanced security analysis including signature verification
- Multimedia content extraction (audio, video, 3D, RichMedia)
- XFA form analysis and script detection
- Performance profiling and optimization tools
- Multiple output formats (JSON, YAML, TOML)
Copyright (C) 2026 Marc Rivero López Licensed under the GNU General Public License v3.0 See LICENSE file for details
Re-exports§
pub use ast::AstError;pub use ast::AstNode;pub use ast::AstResult;pub use ast::NodeId;pub use ast::NodeType;pub use ast::PdfAstGraph;pub use ast::PdfDocument;pub use ast::PdfVersion;pub use compression::create_optimal_compressor;pub use compression::AdvancedCompressor;pub use compression::CompressionConfig;pub use compression::CompressionLevel;pub use compression::CompressionResult;pub use events::AstEventListener;pub use forms::count_fields_in_acroform;pub use forms::has_hybrid_forms;pub use forms::AcroFormStats;pub use forms::XfaDocument;pub use forms::XfaNode;pub use forms::XfaPacket;pub use forms::XfaScriptStats;pub use multimedia::av::AudioInfo;pub use multimedia::av::VideoInfo;pub use multimedia::richmedia::RichMediaInfo;pub use multimedia::threed::ThreeDInfo;pub use parser::PdfParser;pub use performance::get_performance_stats;pub use performance::start_timer;pub use performance::PerformanceAnalyzer;pub use performance::PerformanceConfig;pub use performance::PerformanceReport;pub use performance::PerformanceStats;pub use security::etsi::validate_etsi_profiles;pub use security::etsi::EtsiValidationOptions;pub use security::ltv::LtvInfo;pub use security::report_output::format_security_report;pub use security::report_output::SecurityOutputFormat;pub use security::security_info_to_report;pub use security::security_report_to_json;pub use security::security_report_to_toml;pub use security::security_report_to_yaml;pub use security::DigitalSignature;pub use security::SecurityAnalyzer;pub use security::SecurityInfo;pub use security::SecurityReport;pub use serialization::GraphDeserializer;pub use serialization::SerializableGraph;pub use traversal::AstWalker;pub use traversal::GraphWalker;pub use traversal::TimelineWalker;pub use types::ObjectId;pub use types::PdfArray;pub use types::PdfDictionary;pub use types::PdfName;pub use types::PdfReference;pub use types::PdfStream;pub use types::PdfString;pub use types::PdfValue;pub use visitor::QueryBuilder;pub use visitor::Visitor;pub use visitor::VisitorAction;
Modules§
- api
- ast
- Abstract Syntax Tree implementation for PDF documents.
- bindings
- Language bindings for Python and JavaScript.
- compression
- constants
- PDF specification constants and enumerations. Project-wide constants for PDF-AST
- crypto
- Cryptographic operations for signatures and encryption.
- events
- Event hooks for parser/AST instrumentation.
- ffi
- Foreign Function Interface for C interoperability.
- filters
- Stream filters (compression, encoding, decoding).
- forms
- AcroForm and XFA form processing.
- metadata
- Document metadata extraction and parsing.
- multimedia
- parser
- Core PDF parsing functionality.
- performance
- Performance monitoring and profiling.
- plugins
- Plugin architecture for extensibility.
- recovery
- schema
- security
- Security analysis and signature verification.
- serialization
- Graph serialization and deserialization.
- streaming
- transform
- Document transformation utilities.
- traversal
- Traversal helpers and walker traits.
- types
- Core PDF data types (objects, arrays, dictionaries).
- validation
- Document validation and compliance checking.
- visitor
- Visitor pattern for AST traversal.
Macros§
- progress_
loop - with_
progress - Convenience macros for common progress patterns