A lightweight desktop application for Windows and Linux to manage, convert, merge, and view PDF files — all from a clean and intuitive GUI.
- Image to PDF — Convert a single JPG or PNG image into a PDF file instantly.
- Multiple Images to PDF — Combine several images into a single multi-page PDF document.
- Merge PDFs — Join multiple PDF files into one, preserving all pages and order.
- PDF Viewer — Open and navigate any PDF directly inside the app, with zoom controls and page navigation.
- Auto output folder — All generated PDFs are automatically saved to a
PDFS/folder in the app directory. The folder is created automatically if it doesn't exist. - Drag & Drop support — Drag files directly into the app window for a frictionless workflow. (See platform notes below.)
Only PDF runs on Windows and Linux.
| Feature | Windows | Linux |
|---|---|---|
| Image to PDF | ✅ | ✅ |
| Multiple Images to PDF | ✅ | ✅ |
| Merge PDFs | ✅ | ✅ |
| PDF Viewer | ✅ | ✅ |
| Drag & Drop — PDFs | ✅ | ✅ |
| Drag & Drop — Images | ✅ | |
| File explorer (button) | ✅ | ✅ |
Linux note: Dragging images directly into the app may not work on all desktop environments. Use the 📂 Explorador button to browse and select image files instead — it works reliably on all platforms.
- Ruby (Windows) or system Ruby (Linux, recommended 3.x)
- The following gems:
gtk3
combine_pdf
prawn
poppler (optional, required for the PDF Viewer)
1. Clone the repository
git clone https://github.com/your-username/only-pdf.git
cd only-pdf2. Install dependencies
gem install gtk3 combine_pdf prawnFor PDF viewing support, also install:
gem install poppler
⚠️ Thepopplergem requires the Poppler native library.
- Windows: Install via MSYS2 or the RubyInstaller DevKit.
- Linux: Install via your package manager, e.g.
sudo apt install libpoppler-glib-dev(Debian/Ubuntu) orsudo dnf install poppler-glib-devel(Fedora).
3. Run the application
ruby main.rbwAll generated PDF files are saved to the PDFS/ folder located in the same directory as main.rbw. This folder is created automatically on first run if it does not exist.
only-pdf/
├── main.rbw
└── PDFS/
└── your_generated_files.pdf
| Technology | Purpose |
|---|---|
| Ruby | Core language |
GTK3 (gtk3 gem) |
Desktop GUI framework |
Prawn (prawn gem) |
PDF generation from images |
CombinePDF (combine_pdf gem) |
PDF merging |
Poppler (poppler gem) |
PDF rendering and viewing |
Coming soon.
This project is licensed under the MIT License.