aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkj_sh6042026-05-03 17:24:20 -0400
committerkj_sh6042026-05-03 17:24:20 -0400
commit8086971f9a778c591e6c0bde09de2c7c3030844b (patch)
tree716e72fe409abff6069ca8a3b4679f0b874ea482
parent093a953ab7a6f0c655f9a5def611f594bf6b3255 (diff)
refactor: change default DPI depending on modes
-rw-r--r--README.md2
-rwxr-xr-xsrc/slidepacker17
2 files changed, 13 insertions, 6 deletions
diff --git a/README.md b/README.md
index 91f4867..4763445 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,7 @@ pip install -r requirements.txt
# specify output path
./src/slidepacker deck.pdf out.pptx
-# set render resolution (default: 100 dpi)
+# set render resolution (defaults: 150 dpi standard, 100 dpi with -1)
./src/slidepacker deck.pdf --dpi 200
# tune jpeg quality (default: 98)
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",