Skip to main content

A structured pipeline for transforming PDFs into **searchable, metadata-rich, web-ready content**, combining OCR, page-level analysis, metadata generation, and static site scaffolding.

Project description

Part of the Abstract Intelligence Platform

This module is part of a unified system for transforming raw media into structured, searchable, and SEO-optimized data.

abstract_pdfs handles document ingestion and publishing:

  • PDF → structured pages (text + images)
  • metadata + manifest generation
  • static HTML output (viewer + gallery)

Full system: https://github.com/AbstractEndeavors/abstract-intelligence


abstract_pdfs — Document Processing & SEO Pipeline for PDF-Based Content

A structured pipeline for transforming PDFs into searchable, metadata-rich, web-ready content, combining OCR, page-level analysis, metadata generation, and static site scaffolding.

Designed for:

  • large PDF collections
  • SEO-driven content indexing
  • document-to-web publishing pipelines
  • structured ingestion of unstructured media

🔹 What This System Is

abstract_pdfs is not a PDF utility — it is a full document processing pipeline:

  • ingests raw PDFs
  • decomposes them into pages, images, and text
  • extracts and generates metadata
  • enriches content via NLP APIs
  • builds structured outputs (JSON + HTML)
  • generates navigable web content (galleries + viewers)

The result is a fully browsable, searchable document corpus.


🔹 Pipeline Overview

PDF Input
    ↓
Slice / Decompose (images + text per page)
    ↓
OCR + Text Extraction (layout-aware engines)
    ↓
Metadata Generation
    ├─ summaries
    ├─ keywords
    ├─ descriptions
    ↓
Manifest Creation (per-page + per-document)
    ↓
HTML Generation
    ├─ PDF viewer pages
    ├─ gallery index pages
    ↓
Static Site Output (SEO-ready)
flowchart TD
    A[PDF Input]
    B[DocumentPipeline]
    C[SliceManager\nPage Images + Text + OCR]
    D[Per-Page Assets\nThumbnails / Text / Info JSON]
    E[Manifest Generation\nPage + Document Metadata]
    F[NLP Enrichment\nSummaries + Keywords + Descriptions]
    G[HTML Generation\nViewer Pages + Gallery Indexes]
    H[Static Output\nSearchable / SEO-ready PDF Corpus]

    A --> B --> C --> D --> E --> F --> G --> H

🔹 Core Capabilities

Document Decomposition

  • Splits PDFs into:

    • page images
    • extracted text
    • structured page directories
  • Maintains consistent directory structure for downstream processing


Metadata & SEO Enrichment

  • Generates:

    • summaries
    • keywords
    • descriptions
  • Integrates with NLP endpoints for:

    • text analysis
    • keyword refinement
    • summarization

Example: page-level analysis via API calls


Manifest Generation

  • Produces structured JSON per page:

    • metadata
    • text
    • image references
    • SEO fields
  • Aggregates into document-level manifests


Static Site Generation

  • Generates:

    • PDF viewer pages (page-by-page navigation)
    • gallery index pages (directory browsing)
  • Automatically builds:

    • thumbnails
    • descriptions
    • keyword tags

Example: dynamic card generation for directories


Path ↔ URL Mapping

  • Converts filesystem structure into web-accessible URLs

  • Maintains consistency between:

    • local storage (/srv/media/...)
    • public endpoints (/pdfs/...)

Content Structuring

  • Page-level:

    • text
    • summary
    • keywords
  • Document-level:

    • aggregated metadata
    • full-text indexing

🔹 Architecture

The system is composed of modular components:

  • DocumentPipeline

    • orchestrates ingestion → processing → output
  • SliceManager

    • handles PDF decomposition and OCR
  • Manifest Generators

    • build structured JSON representations
  • HTML Generators

    • render viewer and gallery pages
  • Metadata Utilities

    • enrich content via external NLP services

Each stage is:

  • independent
  • composable
  • replaceable

🔹 Key Design Decisions

Page-Level First

All processing happens per-page, enabling:

  • granular indexing
  • targeted metadata
  • scalable processing

Structured Over Raw

Outputs are always:

  • JSON manifests
  • structured metadata
  • normalized fields

Not just raw text dumps.


SEO as a First-Class Concern

Every page includes:

  • meta tags
  • OpenGraph / social metadata
  • keyword tagging
  • canonical URLs

Filesystem as Source of Truth

  • directory structure = content hierarchy
  • no database required
  • easily deployable as static site

🔹 Why This Exists

Traditional PDF workflows:

  • store documents as opaque blobs
  • lack searchability
  • lack metadata
  • are not web-native

abstract_pdfs transforms PDFs into:

  • structured, indexable content
  • web-ready assets
  • searchable knowledge bases

🔹 Example Use Cases

  • PDF → website publishing pipelines
  • document archives (research, legal, media)
  • SEO-driven content platforms
  • knowledge base generation
  • preprocessing for LLM / search systems

🔹 Integration Context

This system integrates with:

  • OCR pipelines (layout_ocr / abstract_ocr)
  • NLP systems (abstract_hugpy)
  • static hosting (Nginx / CDN)
  • search indexing systems

🔹 Design Philosophy

  • Documents are data, not files
  • Structure before presentation
  • Metadata is as important as content
  • Static outputs scale better than dynamic systems

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

abstract_pdfs-0.0.36.tar.gz (237.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

abstract_pdfs-0.0.36-py3-none-any.whl (349.7 kB view details)

Uploaded Python 3

File details

Details for the file abstract_pdfs-0.0.36.tar.gz.

File metadata

  • Download URL: abstract_pdfs-0.0.36.tar.gz
  • Upload date:
  • Size: 237.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for abstract_pdfs-0.0.36.tar.gz
Algorithm Hash digest
SHA256 9321af468bd142acdf0430193a6d30e733ead0331a2a044703a5d3f45f148f16
MD5 43411857f34f24722b9df7fa0e8f4a62
BLAKE2b-256 3fa0d9b51ac2a8b8f51100b75a93aade301f0fda40ac4ed89d50a728bda18c53

See more details on using hashes here.

File details

Details for the file abstract_pdfs-0.0.36-py3-none-any.whl.

File metadata

  • Download URL: abstract_pdfs-0.0.36-py3-none-any.whl
  • Upload date:
  • Size: 349.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for abstract_pdfs-0.0.36-py3-none-any.whl
Algorithm Hash digest
SHA256 8ee9bf46c2815c5786a97d81fca57db6f5f4060194f8241df5609be2de880699
MD5 ab8a82a979048bd0ac4679ec0d53cd8c
BLAKE2b-256 dd0768c4b7da1f8fb778a9088ee7c130a2c3ba8baf2eb29d5ca0ce320359858e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page