Skip to content

feat: extract markdown for PDF pages with password - #444

Open
aynugek wants to merge 1 commit into
firecrawl:mainfrom
aynugek:main
Open

feat: extract markdown for PDF pages with password#444
aynugek wants to merge 1 commit into
firecrawl:mainfrom
aynugek:main

Conversation

@aynugek

@aynugek aynugek commented Aug 21, 2026

Copy link
Copy Markdown

Summary by cubic

Add password support to per-page Markdown extraction so encrypted PDFs can be processed. Previously, extract_pages_markdown failed on encrypted PDFs; now callers can pass a password or rely on an empty-password attempt. Wrong or missing passwords return an Encrypted error.

  • API changes

    • Rust: Add extract_pages_markdown_with_password(path, pages, password) and extract_pages_markdown_mem_with_password(bytes, pages, password). Existing functions remain and delegate with None.
    • Python: extract_pages_markdown(path, pages=None, password=None) and extract_pages_markdown_bytes(data, pages=None, password=None). Stubs and docs updated.
    • Node (N-API): extract_pages_markdown(buffer, pages?, password?) and extract_pages_markdown_async(buffer, pages?, password?). Optional password; default tries empty password. Type definitions updated. No migration required; existing two-arg calls continue to work.
  • Notes

    • Error behavior: encrypted files without a correct password return PdfError::Encrypted (propagates to Python/Node).
    • Docs: Python and Rust API guides updated; new integration test covers decryption and error cases.

Written for commit 9b1ccac. Summary will update on new commits.

Review in cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 7 files

Shadow auto-approve: would auto-approve. Adds optional password support for extract_pages_markdown in Rust core and Python/Node bindings with a new integration test. Backward compatible, documented, and tested; no risky changes are visible, so auto-approval.

Re-trigger cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant