Convert PSD file to SVG file
Project description
PSD to SVG converter based on psd-tools2 and svgwrite.
Install
Use pip to install:
pip install psd2svg
Usage
The package comes with a command-line tool:
psd2svg input.psd output.svg
When the output path is a directory, or omitted, the tool infers the output name from the input:
psd2svg input.psd output/ # => output/input.svg psd2svg input.psd # => input.svg
When --export-resource flag is specified, all png resources are exported to the path specified by --resource-prefix:
psd2svg input.psd output.svg --export-resource # => output.svg, xxx1.png, ... psd2svg input.psd output/ --export-resource # => output/input.svg, output/xxx1.png, ... psd2svg input.psd output/ --export-resource --resource-prefix=resources/ # => output/input.svg, output/resources/xxx1.png, ... psd2svg input.psd svg/ --export-resource --resource-prefix=../png/ # => svg/input.svg, png/xxx1.png, ...
To render text in vector stroke:
psd2svg input.psd output/ --text-mode text
API
The package contains high-level conversion function psd2svg:
from psd2svg import psd2svg
# File IO.
psd2svg('path/to/input.psd', 'path/to/output/')
# Stream IO.
with open('input.psd', 'rb') as fi:
with open('output.svg', 'w') as fo:
psd2svg(fi, fo)
# psd_tools IO.
from psd_tools import PSDImage
psd = PSDImage.load('path/to/input.psd')
svg = psd2svg(psd)
print(svg)
# Additionally, individual layers can be rendered.
layer_svg = psd2svg(psd.layers[3])
print(layer_svg)
Test
Invoke tox:
tox
Storage backend support
To use AWS S3 storage backend:
pip install psd2svg[s3]
or:
pip install boto3
The tool can specify URL instead of file path (S3 requires boto3):
psd2svg http://example.com/input.psd psd2svg s3://bucketname/path/to/input.psd s3://bucketname/path/to/output/
To use HDFS storage backend:
pip install psd2svg[hdfs,kerberos]
Notes
SVG 1.1 does not cover all the blending modes in Photoshop (e.g., linear-dodge)
Filter effects are approximation. Some effects are not implemented.
Most of adjustments layers are not implemented.
Smart object filters are not implemented.
Browser support: SVG rendering quality greatly differs depending on the browser. Chrome tends to be the best quality.
APIs of this tool is NOT thread-safe.
To use HDFS storage backend, Python 2.7 environment is needed and should be Kerberos-enabled and only read access is available.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for psd2svg-0.1.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e42fec936af66ef2339cc210159d335de20f6ab0ae7373eff21f3c324225da46 |
|
MD5 | 42abcfe05f397ce3e223504ba90ead1a |
|
BLAKE2b-256 | 8a8586cd47bf7b504e8e7f0f14b1089bc895c11f9b5e23644ef95a28e70d7f6d |