Folder2Pdf is a cross-platform desktop app (Avalonia + .NET) that scans one or more folders and exports matched text files as:
- A single merged
PDForTXT, or - Separate output files per source folder
- Multi-folder source selection
- Recursive file discovery in all subfolders
- Output format options:
PDFandTXT - Optional file path headers in output
- Optional "separate by source folder" mode
- Progress bar and live conversion log
- Encoding detection with BOM support and UTF-8 fallback
- .NET SDK 9.0+
NuGet dependencies are restored automatically:
Avalonia/Avalonia.Desktop/Avalonia.Themes.Fluentitext7itext7.bouncy-castle-adapter
dotnet run --project Folder2Pdf/Folder2Pdf.csprojdotnet build Folder2Pdf.sln- Click
Add Folder...and select one or more source folders. - (Optional) Toggle:
Include file paths as headersSeparate output by source folder
- Choose output format (
PDForTXT). - Set file extensions (comma-separated), or leave blank for defaults.
- Set output file/folder (or leave blank to auto-generate).
- Click
Export.
After export, use Open Folder to open the generated output directory.
- Default output directory:
~/Folder2PDF - Merged output filename:
- Single source folder:
<FolderName>_yyyyMMdd_HHmmss.<ext> - Multiple source folders:
Export_yyyyMMdd_HHmmss.<ext>
- Single source folder:
- Separate mode output filename (per source folder):
<FolderName>_yyyyMMdd_HHmmss.<ext>
Default extensions (if extension box is empty):
.txt, .cs, .java, .py, .js, .html, .css, .xml, .json, .md, .csv, .log, .sql, .sh, .bat, .ps1, .yaml, .yml, .ini, .config, .c, .cpp, .h, .hpp, .go, .ts, .rb, .php, .swift, .kt
- In
PDFmode, each source file is placed on a separate page. - Read errors are logged and do not stop the whole conversion.
MIT. See LICENSE.
