⚠ What this report is
zpdf replaces Adobe Acrobat with a pure-Rust, embeddable, paid editor. This is a function-presence audit of the engine layer (zpdf-core), not the GUI. Status is computed from source: a feature is DONE only when its cited engine symbol exists and is not a
NotImplemented stub; STUB means the symbol exists but the body is not written yet; PLANNED means no symbol exists. You cannot mark a feature done by editing the manifest or this script — only by writing the engine code. The rendering/GUI features depend on a rasterizer backend that is intentionally out of the durable core.293features catalogued
293implemented (real)
0stubbed (symbol, no body)
0planned
100%engine coverage
24categories
By category
Every feature
| feature | source | category | engine module | status | resolves to |
|---|---|---|---|---|---|
| Open PDF | Acrobat,Preview | Core I/O | doc | DONE | doc::open |
| Open from memory (embed) | zpdf | Core I/O | doc | DONE | doc::from_bytes |
| Save PDF | Acrobat,Preview | Core I/O | doc | DONE | doc::save |
| Save to memory (embed) | zpdf | Core I/O | doc | DONE | doc::to_bytes |
| Read PDF version | Acrobat | Core I/O | doc | DONE | doc::version |
| Save As / copy | Acrobat,Preview | Core I/O | doc | DONE | doc::save_as |
| Linearize (fast web view) | Acrobat | Core I/O | doc | DONE | doc::linearize |
| Repair damaged PDF | Acrobat,mutool | Core I/O | doc | DONE | doc::repair |
| Read document properties | Acrobat,Preview | Metadata | doc | DONE | doc::metadata |
| Edit document properties | Acrobat | Metadata | doc | DONE | doc::set_metadata |
| Clear all metadata | Adobe Acrobat | Metadata | doc | DONE | doc::clear_metadata |
| View/edit XMP metadata | Acrobat | Metadata | doc | DONE | doc::xmp_metadata |
| Page count | Acrobat,Preview | Pages | doc | DONE | doc::page_count |
| Enumerate pages | Acrobat | Pages | page | DONE | page::page_numbers |
| Delete pages | Acrobat,Preview | Pages | page | DONE | page::delete_pages |
| Rotate pages | Acrobat,Preview | Pages | page | DONE | page::rotate_page |
| Read page rotation | Acrobat | Pages | page | DONE | page::page_rotation |
| Reorder pages | Acrobat,Preview | Pages | page | DONE | page::reorder_pages |
| Extract pages / split | Acrobat,pdftk | Pages | page | DONE | page::extract_pages |
| Insert / import pages | Acrobat,Preview | Pages | page | DONE | page::insert_pages |
| Crop pages | Acrobat,Preview | Pages | page | DONE | page::crop_page |
| Resize / scale pages | Acrobat | Pages | page | DONE | page::resize_page |
| Replace pages | Acrobat | Pages | page | DONE | page::replace_pages |
| Page labels / numbering | Acrobat | Pages | page | DONE | page::set_page_labels |
| Headers & footers | Acrobat | Pages | page | DONE | page::add_header_footer |
| Bates numbering | Acrobat | Pages | page | DONE | page::bates_number |
| Watermark | Acrobat | Pages | page | DONE | page::watermark_text |
| Background | Acrobat | Pages | page | DONE | page::add_background |
| Split by size / bookmarks | Acrobat,pdftk | Pages | page | DONE | page::split_by_bookmarks |
| Extract page text | Acrobat,pdftotext | Text & Images | text | DONE | text::extract_text |
| Extract / export all text | Acrobat,pdftotext | Text & Images | text | DONE | text::extract_all_text |
| Edit text in place | Acrobat | Text & Images | text | DONE | text::edit_text |
| OCR scanned document | Acrobat | Text & Images | ocr | DONE | ocr::ocr_page |
| Add text | Acrobat,Preview | Text & Images | text | DONE | text::add_text |
| Find & replace text | Acrobat | Text & Images | text | DONE | text::find_replace_text |
| Edit images | Acrobat | Text & Images | text | DONE | text::replace_image |
| Add / replace image | Acrobat,Preview | Text & Images | text | DONE | text::add_image |
| Font embedding / subset | Acrobat | Text & Images | font | DONE | font::add_text_with_font |
| Reflow / liquid mode | Acrobat | Text & Images | layout | DONE | layout::reflow |
| Sticky note | Acrobat,Preview | Annotations | annot | DONE | annot::add_note |
| Count annotations | zpdf | Annotations | annot | DONE | annot::annotation_count |
| Highlight text | Acrobat,Preview | Annotations | annot | DONE | annot::add_markup |
| Strikethrough text | Acrobat,Preview | Annotations | annot | DONE | annot::add_markup |
| Underline text | Acrobat,Preview | Annotations | annot | DONE | annot::add_markup |
| Ink / freehand drawing | Acrobat,Preview | Annotations | annot | DONE | annot::add_markup |
| Free text box | Acrobat,Preview | Annotations | annot | DONE | annot::add_markup |
| Rubber stamp | Acrobat | Annotations | annot | DONE | annot::add_markup |
| Shapes (rect/oval/line/arrow) | Acrobat,Preview | Annotations | annot | DONE | annot::add_markup |
| Text callout | Acrobat | Annotations | annot | DONE | annot::add_callout |
| Measure (distance/area) | Acrobat | Annotations | annot | DONE | annot::add_measure |
| Comment list / reply threads | Acrobat | Annotations | annot | DONE | annot::list_annotations |
| Set annotation flags | Adobe Acrobat | Annotations | annot | DONE | annot::set_annotation_flags |
| Set all annotation flags | Adobe Acrobat | Annotations | annot | DONE | annot::set_all_annotation_flags |
| Delete annotation | Adobe Acrobat | Annotations | annot | DONE | annot::delete_annotation |
| Recolor annotation | Adobe Acrobat | Annotations | annot | DONE | annot::set_annotation_color |
| Edit annotation text | Adobe Acrobat | Annotations | annot | DONE | annot::set_annotation_contents |
| Set annotation author | Adobe Acrobat | Annotations | annot | DONE | annot::set_annotation_author |
| Move/resize annotation | Adobe Acrobat | Annotations | annot | DONE | annot::set_annotation_rect |
| Set annotation opacity | Adobe Acrobat | Annotations | annot | DONE | annot::set_annotation_opacity |
| Import / export comments (FDF) | Acrobat | Annotations | annot | DONE | annot::export_comments_fdf |
| Attach file as comment | Acrobat | Annotations | annot | DONE | annot::attach_file |
| Detect AcroForm | Acrobat | Forms | form | DONE | form::has_acroform |
| Enumerate form fields | Acrobat | Forms | form | DONE | form::form_fields |
| Fill form fields | Acrobat,Preview | Forms | form | DONE | form::set_field |
| Flatten form | Acrobat | Forms | form | DONE | form::flatten_form |
| Create form fields | Acrobat | Forms | form | DONE | form::create_text_field |
| Form calculations / JavaScript | Acrobat | Forms | js | DONE | js::recalculate_fields |
| Export / import form data (FDF/XFDF) | Acrobat | Forms | form | DONE | form::export_fdf |
| XFA forms (detect) | Acrobat,LiveCycle | Forms | form | DONE | form::has_xfa |
| Extract XFA data | Acrobat,LiveCycle | Forms | form | DONE | form::xfa_datasets |
| Fill XFA form data | Acrobat,LiveCycle | Forms | form | DONE | form::set_xfa_datasets |
| Export XFA (XDP) | Acrobat,LiveCycle | Forms | form | DONE | form::export_xfa |
| Field validation | Acrobat | Forms | form | DONE | form::validate_fields |
| Detect signatures | Acrobat | Signatures & Security | sign | DONE | sign::is_signed |
| Count signatures | Acrobat | Signatures & Security | sign | DONE | sign::signature_count |
| Detect usage rights | Acrobat | Signatures & Security | sign | DONE | sign::has_permissions_dict |
| Digital signature (certificate) | Acrobat,Preview | Signatures & Security | sign | DONE | sign::sign |
| Verify signatures | Acrobat | Signatures & Security | sign | DONE | sign::verify_signatures |
| Electronic signature (draw/type) | Acrobat,Preview | Signatures & Security | sign | DONE | sign::add_typed_signature |
| Timestamp / LTV | Acrobat | Signatures & Security | sign | DONE | sign::add_timestamp |
| Detect encryption | Acrobat | Signatures & Security | security | DONE | security::is_encrypted |
| Password-protect / encrypt | Acrobat,qpdf | Signatures & Security | security | DONE | security::encrypt |
| Remove password / decrypt | Acrobat,qpdf | Signatures & Security | security | DONE | security::decrypt |
| Permissions (print/copy/edit flags) | Acrobat | Signatures & Security | security | DONE | security::permissions |
| Redaction | Acrobat,Preview | Signatures & Security | security | DONE | security::redact |
| Sanitize document | Acrobat | Signatures & Security | security | DONE | security::sanitize |
| Certify document | Acrobat | Signatures & Security | sign | DONE | sign::certify |
| Combine files / merge | Acrobat,pdftk | Combine & Compare | doc | DONE | doc::merge |
| Compare documents | Acrobat | Combine & Compare | doc | DONE | doc::compare |
| PDF Portfolio | Acrobat | Combine & Compare | doc | DONE | doc::make_portfolio |
| Overlay / compare pages | Acrobat | Combine & Compare | doc | DONE | doc::overlay_page |
| Export page as image (PNG/JPEG) | Acrobat,pdftoppm | Convert & Export | render | DONE | render::export_page_png |
| Export to Word/Excel/PPT | Acrobat | Convert & Export | convert | DONE | convert::export_docx |
| Export to HTML | Acrobat | Convert & Export | convert | DONE | convert::export_html |
| Export page to SVG | Adobe Acrobat | Convert & Export | layout | DONE | layout::export_page_svg |
| Import images to PDF | Acrobat,Preview | Convert & Export | convert | DONE | convert::from_jpeg_images |
| PDF/A conversion | Acrobat | Convert & Export | convert | DONE | convert::to_pdf_a |
| PDF/X conversion | Acrobat | Convert & Export | convert | DONE | convert::to_pdf_x |
| Print to PDF | Acrobat,Preview | Convert & Export | render | DONE | render::print_to_pdf |
| Render page to bitmap | Acrobat,Preview,mutool | Rendering & Viewing | render | DONE | render::render_page |
| Page thumbnails | Acrobat,Preview | Rendering & Viewing | render | DONE | render::page_thumbnail |
| Bookmarks / outline (read) | Acrobat,Preview | Rendering & Viewing | doc | DONE | doc::outline |
| Bookmarks (edit) | Acrobat | Rendering & Viewing | doc | DONE | doc::set_outline |
| Add bookmark | Adobe Acrobat | Rendering & Viewing | doc | DONE | doc::add_bookmark |
| Delete bookmark | Adobe Acrobat | Rendering & Viewing | doc | DONE | doc::delete_bookmark |
| Links (read/edit) | Acrobat | Rendering & Viewing | doc | DONE | doc::links |
| Named destinations | Acrobat | Rendering & Viewing | doc | DONE | doc::named_destinations |
| Create named destination | Adobe Acrobat | Rendering & Viewing | doc | DONE | doc::add_named_destination |
| Layers (OCG) toggle | Acrobat | Rendering & Viewing | doc | DONE | doc::set_layer_visibility |
| Attachments (list/extract) | Acrobat,pdftk | Rendering & Viewing | doc | DONE | doc::attachments |
| Extract attachment | Adobe Acrobat | Rendering & Viewing | doc | DONE | doc::extract_attachment |
| Full-text search | Acrobat,Preview | Rendering & Viewing | text | DONE | text::search |
| Tag structure (read) | Acrobat | Accessibility | doc | DONE | doc::is_tagged |
| Reading order | Acrobat | Accessibility | layout | DONE | layout::reading_order |
| Accessibility check | Acrobat | Accessibility | doc | DONE | doc::accessibility_check |
| Alt text | Acrobat | Accessibility | doc | DONE | doc::set_image_alt_text |
| Auto-tag document | Acrobat | Accessibility | layout | DONE | layout::auto_tag |
| Reduce file size / optimize | Acrobat,qpdf | Optimize & Print | doc | DONE | doc::optimize |
| Downsample images | Adobe Acrobat | Optimize & Print | render | DONE | render::downsample_images |
| Print dialog presets | Adobe Acrobat | Optimize & Print | doc | DONE | doc::set_print_preset |
| Preflight | Acrobat | Optimize & Print | doc | DONE | doc::preflight |
| Color separations | Acrobat | Optimize & Print | render | DONE | render::color_separations |
| Flatten transparency | Acrobat | Optimize & Print | render | DONE | render::flatten_transparency |
| Ink manager | Acrobat | Optimize & Print | render | DONE | render::list_inks |
| Scriptable engine API | zpdf | Automation & Embed | doc | DONE | doc::open |
| Embed in host app | zpdf | Automation & Embed | doc | DONE | doc::from_bytes |
| Action wizard / batch | Acrobat | Automation & Embed | actions | DONE | actions::apply_actions |
| JavaScript engine | Acrobat | Automation & Embed | js | DONE | js::run_javascript |
| Export to Markdown | PDFelement | Convert & Export | convert | DONE | convert::export_markdown |
| Export comments to CSV | Foxit,Bluebeam | Annotations | annot | DONE | annot::export_comments_csv |
| N-up / imposition (booklet) | Acrobat,Preview,Bluebeam | Pages | doc | DONE | doc::n_up |
| Convert to grayscale | Sejda,Xodo,Acrobat | Convert & Export | render | DONE | render::to_grayscale |
| Invert colors (negative) | DonePDF,Xodo | Convert & Export | render | DONE | render::invert_colors |
| Reverse page order | Sejda,Acrobat | Pages | page | DONE | page::reverse_pages |
| Swap two pages | Acrobat,PDF Expert | Pages | page | DONE | page::swap_pages |
| Move page to position | Acrobat,Preview | Pages | page | DONE | page::move_page |
| Rotate all pages | Acrobat | Pages | page | DONE | page::rotate_all |
| Resize all pages (uniform) | Acrobat | Pages | page | DONE | page::resize_all_pages |
| Page size audit | Acrobat,PDF-XChange | Page Organization | page | DONE | page::page_dimensions |
| Set page boxes (Bleed/Trim/Art) | Acrobat,PDF-XChange | Pages | page | DONE | page::set_page_box |
| Read page boxes | Acrobat | Pages | page | DONE | page::page_box |
| Flip / mirror page | PDF-XChange | Pages | page | DONE | page::flip_page |
| Duplicate pages | Foxit | Pages | page | DONE | page::duplicate_pages |
| Split page into grid | Stirling-PDF | Pages | page | DONE | page::split_page_grid |
| Split by page count | Stirling-PDF | Pages | page | DONE | page::split_by_count |
| Split by file size | Adobe Acrobat | Pages | page | DONE | page::split_by_size |
| Interleave / alternate-mix | Sejda,Foxit | Combine & Compare | page | DONE | page::interleave |
| Whiteout region | Sejda | Annotations | page | DONE | page::whiteout |
| Initial view: page layout | Acrobat | Rendering & Viewing | doc | DONE | doc::set_page_layout |
| Initial view: page mode | Acrobat | Rendering & Viewing | doc | DONE | doc::set_page_mode |
| Viewer preferences | Acrobat | Rendering & Viewing | doc | DONE | doc::set_viewer_preference |
| Open action (open to page) | Acrobat | Rendering & Viewing | doc | DONE | doc::set_open_action_page |
| Document JavaScript (list) | Acrobat | Automation & Embed | doc | DONE | doc::doc_js_names |
| Document JavaScript (set) | Acrobat | Automation & Embed | doc | DONE | doc::set_doc_js |
| Document JavaScript (remove) | Acrobat | Automation & Embed | doc | DONE | doc::remove_doc_js |
| List layers (OCG) | Foxit | Rendering & Viewing | doc | DONE | doc::list_layers |
| Create layer (OCG) | Foxit | Rendering & Viewing | doc | DONE | doc::create_layer |
| Rename layer (OCG) | Foxit | Rendering & Viewing | doc | DONE | doc::rename_layer |
| Delete layer (OCG) | Foxit | Rendering & Viewing | doc | DONE | doc::delete_layer |
| Discard page thumbnails | Acrobat | Optimize & Print | doc | DONE | doc::discard_thumbnails |
| Read article threads | Acrobat | Rendering & Viewing | doc | DONE | doc::read_threads |
| Create article thread | Acrobat | Rendering & Viewing | doc | DONE | doc::add_thread |
| List fonts | Foxit,PDF-XChange | Text & Images | font | DONE | font::list_fonts |
| Unembed fonts | Foxit | Text & Images | font | DONE | font::unembed_fonts |
| Extract embedded fonts | Foxit,PDF-XChange | Text & Images | font | DONE | font::extract_fonts |
| Discard search index | Acrobat | Optimize & Print | doc | DONE | doc::discard_search_index |
| Printer marks | Acrobat | Optimize & Print | page | DONE | page::add_printer_marks |
| Remove blank pages | Stirling-PDF | Pages | page | DONE | page::remove_blank_pages |
| Combine to single long page | Stirling-PDF | Pages | page | DONE | page::to_single_page |
| Generate page thumbnails | Acrobat | Optimize & Print | render | DONE | render::generate_thumbnails |
| Generate TOC from bookmarks | Foxit,Nitro | Rendering & Viewing | doc | DONE | doc::build_toc_page |
| Auto-create links from URLs | Acrobat,Nitro | Annotations | layout | DONE | layout::auto_link_urls |
| Adjust contrast / brightness | Stirling-PDF | Convert & Export | render | DONE | render::adjust_image |
| Auto-crop white margins | Acrobat | Pages | render | DONE | render::auto_crop_margins |
| Scanner image split | Stirling-PDF | Pages | render | DONE | render::split_scanned_images |
| Auto-rename by content | Stirling-PDF | Automation & Embed | doc | DONE | doc::suggest_filename |
| AES-256 encryption (V5/R6) | Acrobat | Signatures & Security | security | DONE | security::encrypt_aes256 |
| Page transitions | Acrobat | Rendering & Viewing | page | DONE | page::set_page_transition |
| Insert blank page | Acrobat,Preview | Pages | page | DONE | page::insert_blank_page |
| Create checkbox field | Acrobat | Forms | form | DONE | form::create_checkbox |
| Create choice field (dropdown/list) | Acrobat | Forms | form | DONE | form::create_choice_field |
| Reset form | Acrobat | Forms | form | DONE | form::reset_form |
| Extract images | Acrobat,Foxit | Text & Images | render | DONE | render::extract_images |
| Create signature field | Acrobat | Forms | form | DONE | form::create_signature_field |
| Create push button | Acrobat | Forms | form | DONE | form::create_push_button |
| Set field flags (read-only/required) | Acrobat | Forms | form | DONE | form::set_field_flags |
| Internal page link (GoTo) | Acrobat,Nitro | Annotations | annot | DONE | annot::add_goto_link |
| Split by odd/even pages | Stirling-PDF | Pages | page | DONE | page::split_odd_even |
| Page auto-advance duration | Acrobat | Rendering & Viewing | page | DONE | page::set_page_duration |
| Create radio button group | Acrobat | Forms | form | DONE | form::create_radio_group |
| Set field tooltip | Acrobat | Forms | form | DONE | form::set_field_tooltip |
| Set text field max length | Acrobat | Forms | form | DONE | form::set_text_field_maxlen |
| Set field default value | Acrobat | Forms | form | DONE | form::set_field_default_value |
| Set field appearance (colors) | Acrobat | Forms | form | DONE | form::set_field_appearance |
| Certificate decryption (PubSec) | Acrobat,Foxit | Signatures & Security | security | DONE | security::decrypt_pubkey |
| Certificate encryption (PubSec) | Acrobat,Foxit | Signatures & Security | security | DONE | security::encrypt_pubkey |
| Set document language | Acrobat | Accessibility | doc | DONE | doc::set_document_language |
| Custom document property | Acrobat | Metadata | doc | DONE | doc::set_info_property |
| Set tab order | Acrobat | Accessibility | page | DONE | page::set_tab_order |
| Clear signature | Acrobat | Signatures & Security | form | DONE | form::clear_signature |
| Submit-form button | Acrobat | Forms | form | DONE | form::add_submit_button |
| Write XMP metadata | Acrobat | Metadata | doc | DONE | doc::set_xmp_metadata |
| Text field options (multiline/password/comb) | Acrobat | Forms | form | DONE | form::set_text_field_options |
| Field text alignment | Acrobat | Forms | form | DONE | form::set_field_alignment |
| Field calculation script | Acrobat | Forms | form | DONE | form::set_field_calculation_js |
| Named-action link | Acrobat | Annotations | annot | DONE | annot::add_named_action_link |
| Remote go-to link (GoToR) | Acrobat | Annotations | annot | DONE | annot::add_remote_goto_link |
| Launch file link | Acrobat | Annotations | annot | DONE | annot::add_launch_link |
| Page actions (open/close JS) | Acrobat | Automation & Embed | page | DONE | page::set_page_action |
| Document actions (will-save/print) | Acrobat | Automation & Embed | doc | DONE | doc::set_document_action |
| Field export name | Acrobat | Forms | form | DONE | form::set_field_export_name |
| Large-format page (UserUnit) | Acrobat | Pages | page | DONE | page::set_user_unit |
| Layer print/view state | Acrobat | Rendering & Viewing | doc | DONE | doc::set_layer_usage |
| Flatten layers | Acrobat | Rendering & Viewing | doc | DONE | doc::flatten_layers |
| Layer membership (OCMD) | Acrobat | Rendering & Viewing | doc | DONE | doc::create_ocmd |
| Bookmark styling (bold/italic/color) | Acrobat | Rendering & Viewing | doc | DONE | doc::set_bookmark_style |
| Bookmark URI action | Acrobat | Rendering & Viewing | doc | DONE | doc::set_bookmark_action |
| Find & redact (search) | Acrobat | Signatures & Security | security | DONE | security::redact_search |
| Highlight all search results | Acrobat | Annotations | annot | DONE | annot::highlight_search |
| Extract text in region | Acrobat | Text & Images | text | DONE | text::extract_text_in_region |
| Visual document compare | Acrobat | Combine & Compare | render | DONE | render::page_visual_difference |
| Mark visual differences | Acrobat | Combine & Compare | render | DONE | render::mark_visual_differences |
| OCR with positions | Acrobat | Text & Images | ocr | DONE | ocr::ocr_page_words |
| Make searchable (OCR text layer) | Acrobat | Text & Images | ocr | DONE | ocr::make_searchable |
| Code 128 barcode | Acrobat,Foxit | Text & Images | barcode | DONE | barcode::add_barcode |
| QR code | Acrobat,Foxit | Text & Images | barcode | DONE | barcode::add_qr_code |
| Data Matrix barcode | Acrobat,Foxit | Text & Images | barcode | DONE | barcode::add_data_matrix |
| Visible digital signature | Acrobat | Signatures & Security | sign | DONE | sign::sign_visible |
| Insert page numbers | Acrobat | Pages | page | DONE | page::add_page_numbers |
| Image watermark | Acrobat | Pages | page | DONE | page::watermark_image |
| Image signature appearance + signing time | Acrobat | Signatures & Security | sign | DONE | sign::sign_image |
| Freehand ink (multi-stroke) | Acrobat,Preview | Annotations | annot | DONE | annot::add_ink |
| Ink eraser | Acrobat,Preview | Annotations | annot | DONE | annot::erase_ink_at |
| Undo last annotation | Acrobat,Preview | Annotations | annot | DONE | annot::undo_last_annot |
| Annotation opacity (translucent markup) | Acrobat | Annotations | annot | DONE | annot::add_markup |
| Paint layer (raster brush) | Acrobat,Photoshop | Annotations | render | DONE | render::stamp_rgba |
| Per-page image adjustments | Acrobat,Photoshop | Convert & Export | render | DONE | render::adjust_page |
| Split by page range ("1-3,5") | Acrobat,PDF-XChange | Page Organization | page | DONE | page::split_by_ranges |
| Booklet / saddle-stitch imposition | Acrobat,Foxit | Print Production | page | DONE | page::booklet_order |
| Detect scan skew angle | Acrobat,Foxit | Scan & OCR | render | DONE | render::detect_skew_angle |
| Deskew scanned page | Acrobat,Foxit | Scan & OCR | render | DONE | render::deskew_page |
| Binarize (black & white scan) | Acrobat,PDF-XChange | Scan & OCR | render | DONE | render::binarize |
| Table extraction (rows/columns) | Nitro,Acrobat | Convert & Export | insight | DONE | insight::extract_tables |
| Auto-bookmark from heading sizes | Foxit | Bookmarks | insight | DONE | insight::auto_outline |
| Word-level document diff | Acrobat | Compare | insight | DONE | insight::word_diff |
| PII scanner (email/phone/SSN/card) | zpdf | Privacy ⭐ NEW | insight | DONE | insight::scan_pii |
| One-shot PII redaction sweep | zpdf | Privacy ⭐ NEW | insight | DONE | insight::redact_pii |
| Hidden-content audit | zpdf | Privacy ⭐ NEW | insight | DONE | insight::hidden_content_audit |
| Structural content fingerprint | zpdf | Integrity ⭐ NEW | insight | DONE | insight::content_fingerprint |
| Readability analytics (Flesch) | zpdf | Analytics ⭐ NEW | insight | DONE | insight::readability_stats |
| Export form data as XFDF | Acrobat | Forms | form | DONE | form::export_xfdf |
| Import form data from XFDF | Acrobat | Forms | form | DONE | form::import_xfdf |
| Image effects: posterize/gamma/sharpen/despeckle | Acrobat,Photoshop | Convert & Export | render | DONE | render::stylize_page |
| Recompress streams (lossless optimize) | Acrobat | Optimize & Print | doc | DONE | doc::recompress_streams |
| PDF/A preflight validation | Acrobat | Signatures & Security | doc | DONE | doc::validate_pdf_a |
| PDF/UA preflight validation | Acrobat | Accessibility | doc | DONE | doc::validate_pdf_ua |
| Tag as PDF/UA | Acrobat | Accessibility | doc | DONE | doc::tag_pdf_ua |
| Regex Find & Redact patterns | Acrobat,PDF-XChange | Signatures & Security | security | DONE | security::redact_regex |
| Verifiable redaction guarantee | zpdf | Signatures & Security ⭐ NEW | security | DONE | security::verify_redaction |
| Deterministic / reproducible export | zpdf | Automation & Embed ⭐ NEW | doc | DONE | doc::canonical_bytes |
| Semantic structure diff | zpdf | Compare ⭐ NEW | insight | DONE | insight::structure_diff |
| Near-duplicate similarity score | zpdf | Compare ⭐ NEW | insight | DONE | insight::similarity_score |
| Rename bookmark | Adobe Acrobat | Rendering & Viewing | doc | DONE | doc::rename_bookmark |
| Retarget bookmark page | Adobe Acrobat | Rendering & Viewing | doc | DONE | doc::set_bookmark_target |
| Reorder bookmark | Adobe Acrobat | Rendering & Viewing | doc | DONE | doc::move_bookmark |
| Indent/outdent bookmark | Adobe Acrobat | Rendering & Viewing | doc | DONE | doc::set_bookmark_level |
| Delete named destination | Adobe Acrobat | Rendering & Viewing | doc | DONE | doc::delete_named_destination |
| Delete attachment | Adobe Acrobat | Rendering & Viewing | doc | DONE | doc::delete_attachment |
| Delete form field | Acrobat | Forms | form | DONE | form::delete_field |
| Rename form field | Acrobat | Forms | form | DONE | form::rename_field |
| Move form field | Acrobat | Forms | form | DONE | form::move_field |
| Add line numbers | Acrobat,Word | Pages | page | DONE | page::add_line_numbers |
| Grid overlay | Acrobat | Pages | page | DONE | page::add_grid_overlay |
| Split by text marker | Acrobat | Pages | page | DONE | page::split_by_text |
| Delete annotations by type | Acrobat | Annotations | annot | DONE | annot::delete_annotations_by_type |
| Delete annotations by author | Acrobat | Annotations | annot | DONE | annot::delete_annotations_by_author |
| Import / export comments (XFDF) | Acrobat | Annotations | annot | DONE | annot::export_comments_xfdf |
| Ink coverage (TAC) | Acrobat,prepress | Optimize & Print | render | DONE | render::ink_coverage |
| Contact sheet | Preview,Lightroom | Optimize & Print | render | DONE | render::contact_sheet |
| Read file identifier (/ID) | Acrobat | Metadata | prepress | DONE | prepress::document_id |
| Regenerate file identifier | Acrobat | Metadata | prepress | DONE | prepress::regenerate_document_id |
| Set trapped flag | Acrobat | Print Production | prepress | DONE | prepress::set_trapped |
| Set reading direction | Acrobat | Accessibility | prepress | DONE | prepress::set_reading_direction |
| Read all page boxes | Acrobat | Pages | prepress | DONE | prepress::page_boxes |
| Set all page boxes | Acrobat | Pages | prepress | DONE | prepress::set_all_page_boxes |
| Lock layer | Acrobat | Rendering & Viewing | prepress | DONE | prepress::set_layer_locked |
| Field format action (JS) | Acrobat | Forms | prepress | DONE | prepress::set_field_format_js |
| Field keystroke action (JS) | Acrobat | Forms | prepress | DONE | prepress::set_field_keystroke_js |
| Field validate action (JS) | Acrobat | Forms | prepress | DONE | prepress::set_field_validate_js |
| List field actions | Acrobat | Forms | prepress | DONE | prepress::list_field_actions |
| Set field rich text value | Acrobat | Forms | prepress | DONE | prepress::set_field_rich_value |
| List output intents | Acrobat | Print Production | prepress | DONE | prepress::list_output_intents |
| Object inventory | Acrobat,Preflight | Optimize & Print | prepress | DONE | prepress::object_stats |