Skip to content

Releases: nukie-git/PDFrename

v1.7.0 - Tokopedia Receipt Support & Self-Healing Runtime Installer

Choose a tag to compare

@nukie-git nukie-git released this 11 Sep 10:22

🚀 Tokopedia Receipt Support & Self-Healing Runtime Installer (v1.7.0)

Key Features & Improvements

  • Tokopedia Platform Order Receipt Support: Added automated detection and metadata parsing for Tokopedia purchase receipts. Renames files using the standardized template: YYYYMMDD {Pembeli} {Info Produk}.pdf. Supports Indonesian and English purchase dates, Unicode ligature normalization (e.g. \ufb01 $\rightarrow$ fi), whitespace collapsing, and Windows filename character sanitization.
  • WinGet Bootstrap & Self-Healing Runtime Fallbacks (setup_environment.bat): Added automated handling when Windows Package Manager (winget) is missing (e.g. Windows 10 LTSC, Windows Server, stripped enterprise editions). Provides interactive options for direct Astral uv installation via official PowerShell bootstrap script (astral.sh/uv/install.ps1), automated WinGet + AppX dependencies bootstrap via PowerShell (Add-AppxPackage), and direct Python 3.12 installer download from python.org. Added %LOCALAPPDATA%\Microsoft\WindowsApps to session PATH refresh routine.

Package Asset

  • PDFrename_1.7.0.zip attached for standalone deployment (pre-configured with root directory structure and LICENSE).

v1.6.0 - GitHub Auto-Updater & Multi-Engine PDF Extraction

Choose a tag to compare

@nukie-git nukie-git released this 07 Sep 11:52

🚀 GitHub Auto-Updater & Multi-Engine PDF Extraction (v1.6.0)

Key Features & Improvements

  • GitHub Repository Auto-Updater (updater.py): Added automated update checking against https://github.com/nukie-git/PDFrename on script start. When a newer commit is available, it downloads/stages the update and prompts the user to either:
    1. Restart immediately with the updated code, or
    2. Continue the current run and finalize the update automatically upon workflow completion.
  • Multi-Engine PDF Extraction (fonttools, pdfplumber, pymupdf): Added support for advanced font decoding and Word/Excel converted PDF parsing. dry_run_rename.py uses standard pypdf (accelerated by fonttools for CFF Type 1 fonts), falls back to dynamic /ToUnicode CMap synthesis via fonttools for embedded TrueType fonts, and falls back to pymupdf (complex fonts / paragraph layouts) and pdfplumber (table and gridline extraction for Excel conversions).
  • Singular Download Sequencing: Optimized dependency installation across setup_environment.bat, run_workflow.bat, and rename_workflow.bat. Packages < 5 MB (pypdf, pillow, fonttools) are downloaded together, while packages >= 5 MB (pdfplumber, rapidocr-onnxruntime, pymupdf) are installed singularly in separate sequential steps to protect host RAM and disk bandwidth.
  • UTF-8 Code Page Support: Added chcp 65001 >nul to all batch runners to ensure seamless Unicode filename and console logging compatibility.
  • PEP 723 Dependency Sync: Synchronized all inline script metadata in dry_run_rename.py and execute_rename.py with fonttools, pdfplumber, and pymupdf.

Package Asset

  • pdf_rename_workflow.zip attached for standalone deployment.

v1.5.0 - Astral uv Runtime Support, Setup Installer & Shortcuts

Choose a tag to compare

@nukie-git nukie-git released this 04 Sep 14:17

🚀 Astral uv Runtime Support & Shortcuts (v1.5.0)

Key Features & Improvements

  • Astral uv Runtime & PEP 723 Support: Seamless execution via Astral uv if Python is not installed or not in PATH. Embeds PEP 723 inline script metadata (# /// script) in dry_run_rename.py and execute_rename.py for zero-configuration dependency management and isolation.
  • Dedicated Environment Setup & Winget Auto-Installer (setup_environment.bat): Automatically prompts to install Astral uv or Python 3.12 via winget if neither is detected, refreshes active session PATH from registry, and immediately resumes the workflow without terminal restart.
  • Desktop Shortcut Creator (create-shortcut.vbs): Added VBScript desktop shortcut generator that runs automatically upon environment setup (or on demand) for 1-click Downloads renaming and drag-and-drop custom folder renaming.
  • Batch Script Delegation: Both run_workflow.bat and rename_workflow.bat dynamically detect the available runtime (python vs uv run) and delegate missing environment setup to setup_environment.bat.
  • Documentation & Copyright Notice: Added copyright notice © nukie 2026 across runner banners and setup scripts, and enforced mandatory top module docstrings.

Package Asset

  • pdf_rename_workflow.zip attached for standalone deployment.

v1.4.0 - Mandiri Multiple Transfer Receipt Support

Choose a tag to compare

@nukie-git nukie-git released this 04 Sep 14:17

🌟 Mandiri Multiple Transfer Support (v1.4.0)

Key Features & Improvements

  • Support for Mandiri "Multiple Transfer" Receipts: Added support for Mandiri KOPRA Multiple Transfer By Manual Input / File Upload receipts.
  • Expanded Date Parsing: Added extraction support for Execution Date.
  • Account Extraction: Added support for Credit Account Number and smart remark defaults (Transfer).
  • Updated documentation and workflow archive.

Package Asset

  • pdf_rename_workflow.zip attached for standalone deployment.

v1.3.3 - 4-Letter Month Support & Instruction Date Fallback

Choose a tag to compare

@nukie-git nukie-git released this 04 Sep 14:17

🔖 Expanded Date Regex & Fallback (v1.3.3)

Improvements

  • Expanded Date Regex for Mandiri Receipts: Added support for 4-letter month abbreviations (e.g. Sept in Creation Date 01 Sept 2026).
  • Instruction Date Fallback: Added fallback to Instruction Date field in Mandiri transfer receipts if Creation Date is absent.
  • Updated workflow archive.

Package Asset

  • pdf_rename_workflow.zip attached for standalone deployment.

v1.3.2 - Vendor Word Stripping & Combined Fallback

Choose a tag to compare

@nukie-git nukie-git released this 04 Sep 14:17

🔖 Vendor Word Stripping & Combined Fallback (v1.3.2)

Improvements

  • Extensible Vendor Word Stripping: Added VENDOR_NAME_STRIP_WORDS = {'SABILULUNGAN'} to drop non-essential vendor brand words from output filenames uniformly across OCR and default fallbacks.
  • Combined Low-Confidence Suffix (-missed): Triggered -missed filename suffix whenever either date OCR or vendor OCR produces a fallback warning.
  • Preserved path expansion fix across runners and updated workflow archive.

Package Asset

  • pdf_rename_workflow.zip attached for standalone deployment.

v1.3.1 - Missed Suffix for Fallback Scans

Choose a tag to compare

@nukie-git nukie-git released this 04 Sep 14:17

🔖 Fallback Scan Flagging (v1.3.1)

Improvements

  • -missed Filename Suffix: Appended -missed to low-confidence fallback bon filenames (e.g. bon_{vendor}_{YYYYMMDD}-missed.pdf) so unconfirmed scans remain visually flagged after the terminal session closes.
  • Updated documentation and workflow archive.

Package Asset

  • pdf_rename_workflow.zip attached for standalone deployment.

v1.3.0 - Preview-Locked Execution & Vendor OCR Pass

Choose a tag to compare

@nukie-git nukie-git released this 04 Sep 14:17

🌟 Preview-Locked Execution & Vendor OCR Pass (v1.3.0)

Key Features & Improvements

  • Preview-Locked Execution: execute_rename.py now renames from the dry run's saved snapshot (logs/pending_mapping.json) instead of independently re-scanning the folder — closes a gap where the approved preview and the actual rename could silently diverge.
  • Rollback on Partial Rename Failure: A failed second rename step now restores the original filename instead of leaving the file stuck as <name>.pdf.tmp_rename.
  • Vendor OCR Pass: Scanned bons now get a heuristic vendor name read from the header lines instead of a hardcoded vendor, with a warning flag when that read is inconclusive. Lines matching Nama/Alamat Pemesanan are excluded from vendor candidacy.
  • Low-Confidence Warnings Surfaced in Preview Table: OCR-unavailable, no-date-found, and inconclusive-vendor cases are flagged with ⚠️ and explanatory notes instead of silently guessing.
  • Encrypted-PDF Detection: Password-protected PDFs report a clear error in the preview table instead of generic crashes.
  • Date-Fix Scoping: OCR digit/separator corrections apply only to the local text window around candidate date matches.
  • Year Cross-Check: Missing year in matched dates falls back to years found elsewhere in OCR text before falling back to current year.
  • Filename Sanitization: Trailing dot/space stripping, Windows-reserved device names (CON, PRN, NUL...), and safe stem length caps.
  • Batch Runners Fail-Closed: Aborts immediately on dry-run failure instead of falling through to rename confirmation.

Package Asset

  • pdf_rename_workflow.zip attached for standalone deployment.

v1.2.0 - Multi-Layer OCR Date Parser

Choose a tag to compare

@nukie-git nukie-git released this 04 Sep 14:17

🌟 Multi-Layer OCR Date Parser (v1.2.0)

New Features & Improvements

  • Multi-Layer OCR Date Parser: Upgraded date extraction to prioritize printed LUNAS stamp dates (10 AUG 2026, 13 AUG 2026, 19 AUG 2026, 24 AUG 2026) before falling back to handwritten date field parsing.
  • Regex Iteration Fix: Switched to re.finditer across concatenated OCR text blocks to bypass address line false positives (No.90 A Bandung).
  • Archive Update: Updated pdf_rename_workflow.zip archive containing v1.2.0 files.

Package Asset

  • pdf_rename_workflow.zip attached for standalone deployment.

v1.1.1 - Scanned Bon OCR Support & Caching

Choose a tag to compare

@nukie-git nukie-git released this 04 Sep 14:17

🌟 Scanned Bon OCR & Cache Release (v1.1.1)

New Features & Improvements

  • Scanned Bon OCR Support: Added support for image-based PDFs (IMG_YearMonthDate_*) using rapidocr-onnxruntime to extract handwritten/printed receipt dates inside the document.
  • Instant Execution Cache: Added .rename_cache.json caching mechanism between dry run scan and file rename execution to eliminate redundant OCR processing.
  • Automatic Cache File Cleanup: Guaranteed purging of .rename_cache.json after execution, cancellation, or abort via Python finally handlers and batch exit traps.
  • Batch Script Syntax Fix: Resolved Windows cmd.exe crash (. was unexpected at this time) by fixing unescaped parenthesis syntax in if blocks and enforcing CRLF line endings.
  • Documentation & Setup: Expanded dependency checks/install (pypdf, pillow, rapidocr-onnxruntime) and updated README, INSTALL, and SOP docs.

Package Asset

  • pdf_rename_workflow.zip attached for standalone deployment.