initial
This commit is contained in:
46
README.md
Executable file
46
README.md
Executable file
@@ -0,0 +1,46 @@
|
||||
# SVG Processor
|
||||
|
||||
This Python script processes an SVG file by removing specified elements, embedding fonts, and exporting to multiple formats.
|
||||
|
||||
## Features
|
||||
|
||||
- Remove SVG elements based on IDs specified in a JSON file
|
||||
- Embed fonts from external files into the SVG as base64
|
||||
- Optimize the SVG using scour
|
||||
- Export to optimized SVG, PNG, JPEG, and thumbnail JPEG
|
||||
|
||||
## Requirements
|
||||
|
||||
- Python 3.9+
|
||||
- Libraries: lxml, cairosvg, scour
|
||||
|
||||
## Docker Usage
|
||||
|
||||
Build the Docker image:
|
||||
|
||||
```bash
|
||||
docker build -t svg-processor .
|
||||
```
|
||||
|
||||
Run the container:
|
||||
|
||||
```bash
|
||||
docker run -v /path/to/input:/input -v /path/to/output:/output svg-processor python svg_processor.py /input/input.svg /input/config.json /output
|
||||
```
|
||||
|
||||
Replace `/path/to/input` and `/path/to/output` with actual paths.
|
||||
|
||||
## JSON Configuration Format
|
||||
|
||||
See `sample_config.json` for an example.
|
||||
|
||||
- `remove`: Array of element IDs to remove
|
||||
- `fonts`: Object mapping font-family names to font file paths
|
||||
- `size`: Override the size - useful when the size of the new image cannot be automatically calulated
|
||||
|
||||
## Output
|
||||
|
||||
- `optimized.svg`: Optimized SVG with embedded fonts
|
||||
- `output.png`: PNG version
|
||||
- `output.jpg`: JPEG version
|
||||
- `thumbnail.jpg`: Thumbnail JPEG (128x128 max)
|
||||
Reference in New Issue
Block a user