1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import os
- import pathlib
- import sys
- import subprocess
- inkscape = None
- if os.name == 'nt':
- # Possible paths to check for the installation
- inkscapePaths = [
- r"C:\Program Files\Inkscape\bin\inkscape.exe",
- r"C:\Program Files\Inkscape\inkscape.exe",
- r"C:\Program Files (x86)\Inkscape\bin\inkscape.exe",
- r"C:\Program Files (x86)\Inkscape\inkscape.exe",
- ]
- for path in inkscapePaths:
- if pathlib.Path(path).exists():
- inkscape = path
- if not inkscape:
- print("Can't find Inkscape installation, aborting.")
- sys.exit()
- elif os.name == 'posix':
- inkscape = 'inkscape'
- print("Conversion started")
- for f in sys.argv[1:]:
- fullpath = pathlib.Path(f)
- if fullpath.exists() and fullpath.suffix == '.svg':
- print(f"Converting {fullpath} to PNG")
- p = subprocess.run([
- inkscape,
- "--export-background-opacity=1",
- "--export-type=png",
- "--export-dpi=400",
- f"--export-filename={fullpath.with_suffix('.png')}",
- fullpath,
- ],
- stdin=subprocess.PIPE,
- stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT,
- universal_newlines=True)
- print(f"Converting {fullpath} to PDF")
- subprocess.run([
- inkscape,
- "-T",
- "--export-background-opacity=1",
- "--export-type=pdf",
- "--export-dpi=400",
- f"--export-filename={fullpath.with_suffix('.pdf')}",
- fullpath,
- ],
- stdin=subprocess.PIPE,
- stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT,
- universal_newlines=True)
- else:
- print(f"Path {f} does not exist")
- print("Complete")
|