img2pdf/README.md
stu f00ca45f59 Update .gitignore, README, and add build outputs and tooling
- 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>
2025-12-01 09:28:38 -05:00

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