Getting started

Everything you need as a user or contributor.

Installation

Download the latest FileConverterPro_Setup_v1.0.6.exe from the Releases page and run it.

The installer:

  • Runs without administrator rights
  • Supports English and French during setup
  • Targets 64-bit Windows 10 / 11 only
  • Optionally creates a Desktop shortcut
  • Optionally associates .fcproj project files with the app
  • Offers to add a Windows Defender exclusion for the install folder

PowerShell one-liner (silent install)

$f="$env:TEMP\fcp.exe"; Invoke-WebRequest "https://github.com/Hyacinthe-primus/File_Converter_Pro/releases/latest/download/FileConverterPro_Setup_v1.0.6.exe" -OutFile $f; Start-Process $f "/SILENT" -Wait; Remove-Item $f

Portable version

Download the .zip from the Releases page, extract anywhere, and run File Converter Pro.exe. All settings, history, and achievements are stored in the same folder, you can move the folder and everything moves with it.

The portable version does not create automatic file associations for .fcproj files. Open projects via File → Open Project inside the app.

PowerShell one-liner (portable)

$z="$env:TEMP\fcp.zip"; $d="$env:USERPROFILE\Downloads\FileConverterPro"; Invoke-WebRequest "https://github.com/Hyacinthe-primus/File_Converter_Pro/releases/latest/download/File_Converter_Pro_v1.0.6.zip" -OutFile $z; Expand-Archive $z -DestinationPath $d -Force; Remove-Item $z; Start-Process explorer.exe $d

System requirements

ComponentRequirement
OSWindows 10 or 11 (64-bit)
RAM4 GB min / 8 GB recommended
Disk~300 MB free
Display1280 × 720 or higher
DependenciesNone – fully self-contained

Optional tools

FCP works on a clean machine. Install any of the following and it will detect them automatically for higher-quality output, no configuration needed.

ToolWhat it unlocks
Microsoft OfficePixel-perfect DOCX / XLSX / PPTX → PDF via COM automation. Required for legacy .ppt.
LibreOfficeHigh-quality PPTX → PDF and XLSX → PDF without Office.
PandocBetter TXT / RTF / EPUB → PDF; RTF → DOCX with proper formatting.
MiKTeXPandoc's LaTeX PDF pipeline for best typographic output.
wkhtmltopdfBest HTML → PDF rendering — full CSS, fonts, local images.

Windows Defender & antivirus

Adding the install folder to Defender exclusions is strongly recommended. The installer offers to do this automatically. For the portable version:

Add-MpPreference -ExclusionPath "C:\Your\Folder\File Converter Pro"

If you get an "application control policy blocked this file" error, run this in an Administrator PowerShell, replacing the path with your actual install folder:

Get-ChildItem -Path "C:\Your\path\to\File Converter Pro" -Recurse | Unblock-File
Adding a Defender exclusion and running Unblock-File are two separate mechanisms. Both may be needed if you downloaded the portable zip.

Languages

FCP ships with built-in French and English. To add a new language: create a .lang file (UTF-8 JSON) and place it in the languages/ folder in the internal directory next to the executable. It will appear in Settings automatically on next launch.

See CONTRIBUTING.md for a step-by-step guide.

Clone & install

git clone https://github.com/Hyacinthe-primus/File_Converter_Pro.git cd File_Converter_Pro pip install -r requirements.txt python main.py

Requires Python 3.11 or 3.13.

Project structure

File Converter Pro/ │ ├── main.py # Entry point — splash, single instance, CLI, drag & drop ├── config.py # Encrypted config manager, Windows dark mode detection ├── translations.py # i18n engine (FR/EN built-in + .lang/.json file support) ├── conversion_worker.py # Background QThread conversion worker ├── advanced_conversions.py # Extra conversion routines ├── dashboard.py # Statistics dashboard (Matplotlib animated charts) ├── database.py # SQLite abstraction layer ├── donate.py # Donation dialog — kofi, animated UI, donor flag ├── history.py # Conversion history panel ├── widgets.py # Shared custom Qt widgets (AnimatedCheckBox, etc.) ├── special_events_manager.py # Date-aware special events (birthday, new year…) ├── system_notifier.py # Native Windows desktop notifications ├── quick_check.py # Companion build-verification tool (Tkinter) ├── daemon.py # Silent background daemon — watcher/scheduler tasks ├── qss_helpers.py # Shared QSS utilities │ ├── app/ │ ├── __init__.py # FadingMainWindow, FileConverterApp │ ├── ui.py # AppUIMixin — all UI construction │ ├── logic.py # AppLogicMixin — all business logic │ └── mixins/ │ ├── __init__.py │ ├── archive_engines.py │ ├── batch.py │ ├── compression.py │ ├── file_management.py │ ├── image_to_pdf.py │ ├── optimization.py │ ├── panels.py │ ├── pdf_operations.py │ ├── pdf_to_word.py │ ├── project_management.py │ ├── theme_language.py │ └── word_to_pdf.py │ ├── context_menu/ │ ├── __init__.py │ ├── formats.py # Context menu formats │ └── window.py # Quick Convert popup — Windows Shell Integration │ ├── converter/ │ ├── __init__.py │ ├── converters.py # AdvancedConverterEngine — all format pipelines │ ├── advanced_db.py # SQLite DB for conversion stats │ ├── html_inline.py # HTML inline style processing │ └── mixins/ │ ├── __init__.py │ ├── document_converters.py │ ├── image_converters.py │ └── media_converters.py │ ├── achievements/ │ ├── __init__.py │ ├── achievements_system.py # Achievement definitions and unlock logic │ ├── achievements_manager.py # Persistence and state management │ ├── achievements_ui.py # Full achievements panel UI │ ├── achievements_popup.py # Animated real-time unlock pop-up │ └── rank_popup.py # Rank-up celebration dialog │ ├── dialogs/ │ ├── __init__.py │ ├── batch_convert_dialog.py │ ├── batch_rename_dialog.py │ ├── compression_dialog.py │ ├── conversion_options_dialog.py │ ├── merge_order_dialog.py │ ├── password_dialog.py │ ├── pdf_protection_dialog.py │ ├── pdf_to_word_dialog.py │ ├── preview_dialog.py │ ├── settings_dialog.py │ ├── split_dialog.py │ ├── splash_screen.py │ ├── terms_dialog.py │ └── word_to_pdf_dialog.py │ ├── tasks/ │ ├── __init__.py # Automation engine: Watch Folders & Scheduled Tasks │ ├── watcher.py # Folder watcher — monitors paths for new files │ └── scheduler.py # Task scheduler — triggers conversions on interval/time │ ├── templates/ │ ├── __init__.py │ ├── create_template_dialog.py │ ├── template_editor_dialog.py │ ├── template_manager.py │ └── templates.py │ ├── utils/ │ ├── __init__.py │ └── translation_mixin.py │ ├── automation/ │ └── example_automation.toml # TOML rule configs for watcher & scheduler tasks │ ├── tests/ │ ├── conftest.py │ ├── test_batch.py │ ├── test_compression.py │ ├── test_converter_edge.py │ ├── test_converters.py │ ├── test_dialogs.py │ ├── test_document_conversions.py │ ├── test_integration.py │ ├── test_mixins.py │ ├── test_templates.py │ ├── test_translations.py │ └── test_utils.py │ ├── styles/ │ └── themes/ │ ├── buttons.qss # Shared — BtnOK, BtnCancel, BtnCancelRed │ ├── advanced_conversions_buttons.qss │ ├── history_calendar.qss │ ├── history_date.qss │ ├── window_card.qss │ ├── dark/ │ │ ├── style.qss │ │ ├── advanced_conversions.qss │ │ ├── advanced_group.qss │ │ ├── contact_links.css │ │ ├── dashboard.qss │ │ ├── lang_scroll.qss │ │ ├── scrollbar.qss │ │ ├── templates.qss │ │ ├── terms.qss │ │ └── terms_html.css │ └── light/ │ ├── style.qss │ ├── advanced_conversions.qss │ ├── advanced_group.qss │ ├── contact_links.css │ ├── dashboard.qss │ ├── lang_scroll.qss │ ├── scrollbar.qss │ ├── templates.qss │ ├── terms.qss │ └── terms_html.css │ ├── languages/ │ ├── blank.lang │ ├── en-revisited.lang │ ├── en.json │ ├── fr.json │ ├── it.lang │ ├── ru.lang │ └── zh.lang │ ├── legal/ │ ├── privacy_policy_{en,fr,it,ru,zh}.html │ └── terms_conditions_{en,fr,it,ru,zh}.html │ ├── LICENSE/ │ ├── LICENSE.txt │ └── LICENSE_FR.txt │ ├── fonts/ │ ├── Celestia-Silence.ttf │ └── Inter-Regular.ttf │ ├── icons/ # 27 format/app icons (.ico, .png) │ ├── Assets/ # 68 achievement/rank/event images (.png, .svg) │ ├── SFX/ # 25 sound effects (.wav, .mp3) │ ├── previews/ # 15 screenshots/GIFs for README │ ├── Output/ │ └── FileConverterPro_Setup_v1.0.6.exe │ ├── build/ # PyInstaller build intermediates ├── dist/ │ └── File Converter Pro/ │ └── File Converter Pro.exe # Bundled executable + _internal/ │ ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ └── workflows/ │ └── oosmetrics.yml │ ├── pyproject.toml # Project metadata & dependencies ├── requirements.txt # Pinned dependencies ├── build.ps1 / build_all.ps1 # Build scripts ├── build_installer.ps1 # Inno Setup build script ├── build_quick_check.ps1 ├── build.spec / quick_check.spec # PyInstaller specs ├── setup.iss # Inno Setup installer script ├── manifest.xml # Windows app manifest ├── version_info.txt # Version resource info │ ├── icon.ico / icon.png # App icons ├── manager_icon.ico # Manager icon ├── installer_banner.bmp # Installer banner ├── achievements.db # Runtime DB (achievements) ├── file_converter_advanced.db # Runtime DB (conversion stats) ├── file_converter_stats.db # Runtime DB (general stats) ├── file_converter_config.dat # Encrypted config file ├── file_converter_key.key # Encryption key ├── special_events.db # Runtime DB (events) │ ├── .gitignore ├── README.md ├── ROADMAP.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── COMMERCIAL_LICENSE.md └── LICENSE.md

Building the exe

The project uses PyInstaller for the executable and Inno Setup for the installer. See the For Developers wiki page for the full build guide. Note: UPX is used but be careful with Qt DLLs as improper usage can corrupt them.

Contributing

Contributions are welcome: Translations, Bug fixes, or larger features. Read CONTRIBUTING.md first. For complex changes (Linux port, new format category), open an issue before starting work.

Known limitations

AreaDetails
Windows onlyCOM automation, registry-based dark mode detection, and PyInstaller packaging are Windows-first. macOS / Linux planned.
Build size~435 MB compiled – inherent to Python + PySide6 + Matplotlib.
PDF → DOCX qualityDepends on source PDF. Scanned PDFs with no text layer are only partially recoverable.
.ppt legacy formatRequires Microsoft Office or LibreOffice. python-pptx cannot open old binary .ppt files.
No cloud / syncHistory and settings are local only – no backup, no multi-device profiles.
Solo developmentProgression depends on availability outside of studies.

License

File Converter Pro uses a dual licensing model:

  • GPLv3 – free to use, modify, and distribute. See LICENSE.txt.
  • Commercial License – required for integration into proprietary or closed-source products. See COMMERCIAL LICENSE.md.

© Prime Enterprises (Hyacinthe). All rights reserved.