20260211
This commit is contained in:
@@ -28,17 +28,20 @@ def export(
|
|||||||
pptopic export presentation.pptx --output result.png --optimize --max-height 20000
|
pptopic export presentation.pptx --output result.png --optimize --max-height 20000
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
|
if output_name:
|
||||||
|
save_name = f"{output_name}.{format.lower()}" if "." not in output_name else output_name
|
||||||
|
else:
|
||||||
|
save_name = f"{input_file.stem}_{today(fmt="YYYYMMDDHHmm",addtime=True)}.{format.lower()}"
|
||||||
|
|
||||||
PPT_longPic(
|
PPT_longPic(
|
||||||
pptFile=input_file,
|
pptFile=input_file,
|
||||||
saveName=f"{output_name}.{format.lower()}" if output_name and "." not in output_name else output_name,
|
saveName=save_name,
|
||||||
width=width,
|
width=width,
|
||||||
saveto=output_dir
|
saveto=output_dir
|
||||||
)
|
)
|
||||||
|
|
||||||
if optimize:
|
if optimize:
|
||||||
output_path = output_dir / (output_name if output_name else input_file.stem)
|
output_path = output_dir / save_name
|
||||||
if not output_path.suffix:
|
|
||||||
output_path = output_path.with_suffix(f".{format.lower()}")
|
|
||||||
|
|
||||||
imageOptimization(
|
imageOptimization(
|
||||||
imageFile=output_path,
|
imageFile=output_path,
|
||||||
@@ -48,10 +51,42 @@ def export(
|
|||||||
engine_conf=engine_conf
|
engine_conf=engine_conf
|
||||||
)
|
)
|
||||||
|
|
||||||
typer.echo(f"成功导出长图: {output_dir / (output_name if output_name else input_file.stem)}")
|
typer.echo(f"成功导出长图: {output_dir / save_name}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
typer.echo(f"导出失败: {e}", err=True)
|
typer.echo(f"导出失败: {e}", err=True)
|
||||||
raise typer.Exit(code=1)
|
raise typer.Exit(code=1)
|
||||||
|
|
||||||
|
@app.command()
|
||||||
|
def optimize(
|
||||||
|
input_file: Path = typer.Argument(..., help="输入的图片文件路径", exists=True),
|
||||||
|
output_file: Path = typer.Option(None, "--output", "-o", help="输出图片文件路径,默认覆盖原文件"),
|
||||||
|
max_height: int = typer.Option(29999, "--max-height", help="优化图片的最大高度(默认29999)"),
|
||||||
|
engine: str = typer.Option("pngquant", "--engine", help="图片优化引擎(默认pngquant)"),
|
||||||
|
engine_conf: str = typer.Option("--skip-if-larger", "--engine-conf", help="图片优化引擎配置参数(默认--skip-if-larger)")
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
单独优化图片
|
||||||
|
|
||||||
|
示例:
|
||||||
|
pptopic optimize image.png
|
||||||
|
pptopic optimize image.png --output optimized.png --max-height 20000
|
||||||
|
pptopic optimize image.png --engine pngquant --engine-conf "--quality=80-90"
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
save_file = output_file if output_file else input_file
|
||||||
|
|
||||||
|
imageOptimization(
|
||||||
|
imageFile=input_file,
|
||||||
|
saveFile=save_file,
|
||||||
|
max_height=max_height,
|
||||||
|
engine=engine,
|
||||||
|
engine_conf=engine_conf
|
||||||
|
)
|
||||||
|
|
||||||
|
typer.echo(f"成功优化图片: {save_file}")
|
||||||
|
except Exception as e:
|
||||||
|
typer.echo(f"优化失败: {e}", err=True)
|
||||||
|
raise typer.Exit(code=1)
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
app()
|
app()
|
||||||
|
|||||||
Reference in New Issue
Block a user