- Updated .gitignore to reflect current project structure - Updated README with current build and installation instructions - Added cmd, internal, and scripts directories for project organization - Added build artifacts and installation scripts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
41 lines
1.5 KiB
Markdown
41 lines
1.5 KiB
Markdown
# Leak Technologies — img2pdf
|
|
|
|
Minimal Go utility (with a tiny native UI) to merge images into a single PDF. Uses the Go standard library plus Fyne for the UI.
|
|
|
|
## Features
|
|
- Drag-and-drop UI for images or folders; natural filename sorting
|
|
- Choose output location/name in the UI; defaults next to the first input
|
|
- Supported formats (stdlib decoders): JPG, PNG, GIF
|
|
- Lightweight custom PDF writer (no third-party PDF libs)
|
|
|
|
## Usage
|
|
Install/build (from repo root):
|
|
```bash
|
|
./install.sh # or ./scripts/build.sh
|
|
```
|
|
|
|
Run UI (default when no args):
|
|
```bash
|
|
./img2pdf
|
|
```
|
|
|
|
CLI mode (explicit):
|
|
```bash
|
|
./img2pdf convert [-o output.pdf] <image_or_folder> [more_paths...]
|
|
```
|
|
- If `-o` is omitted, the PDF is written next to the first input: for a folder, `<folder>/<folder>.pdf`; for a single file, `<dir>/<file>.pdf`.
|
|
- Add more inputs to merge.
|
|
|
|
## Wayland (Linux)
|
|
- GUI builds target Wayland by default (`-tags=wayland`); the included build scripts set this for you.
|
|
- On X11/XWayland sessions the UI will exit—run the CLI instead: `./img2pdf convert ...`.
|
|
- Dependencies for the Wayland build: `libwayland-client`, `libxkbcommon`, `wayland-protocols`, `pkg-config`, and GL/EGL headers (e.g., mesa).
|
|
|
|
## Notes
|
|
- Transparency is flattened onto white before encoding to JPEG for embedding.
|
|
- Page size matches the pixel dimensions of each image (1 px = 1 pt).
|
|
- UI uses Fyne and expects a Wayland compositor on Linux; ensure the platform requirements above are installed.
|
|
|
|
## License
|
|
MIT
|