From 8086971f9a778c591e6c0bde09de2c7c3030844b Mon Sep 17 00:00:00 2001 From: kj_sh604 Date: Sun, 3 May 2026 17:24:20 -0400 Subject: refactor: change default DPI depending on modes --- src/slidepacker | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/slidepacker b/src/slidepacker index f445d85..893b97f 100755 --- a/src/slidepacker +++ b/src/slidepacker @@ -15,7 +15,8 @@ from pptx.oxml.xmlchemy import OxmlElement from pptx.util import Emu -DEFAULT_DPI = 100 +DEFAULT_STANDARD_DPI = 150 +DEFAULT_STACKED_DPI = 100 DEFAULT_JPEG_QUALITY = 98 @@ -125,7 +126,7 @@ def _add_click_hide_timing(slide, shape_ids): def pack( pdf_path, output_path=None, - dpi=DEFAULT_DPI, + dpi=None, one_slide=False, jpeg_quality=DEFAULT_JPEG_QUALITY, ): @@ -134,7 +135,7 @@ def pack( args: pdf_path: path to the input pdf output_path: path for the output pptx (default: same stem as pdf) - dpi: render resolution (default: 100) + dpi: render resolution (default: 150, or 100 with one_slide) one_slide: if true, stack all pages on one slide with click animations jpeg_quality: jpeg quality from 1..100 (default: 98) @@ -145,6 +146,9 @@ def pack( base = os.path.splitext(pdf_path)[0] output_path = base + ".pptx" + if dpi is None: + dpi = DEFAULT_STACKED_DPI if one_slide else DEFAULT_STANDARD_DPI + if not 1 <= jpeg_quality <= 100: raise ValueError("jpeg_quality must be between 1 and 100") @@ -216,9 +220,12 @@ def main(): parser.add_argument( "--dpi", type=int, - default=DEFAULT_DPI, + default=None, metavar="N", - help=f"render resolution in dpi (default: {DEFAULT_DPI})", + help=( + "render resolution in dpi " + f"(default: {DEFAULT_STANDARD_DPI}, or {DEFAULT_STACKED_DPI} with -1)" + ), ) parser.add_argument( "--jpeg-quality", -- cgit v1.2.3