8cb1f9f479
Publish SDK (PyPI) / publish (push) Waiting to run
Publish SDK (npm) / publish (@aionui/officecli-sdk) (push) Waiting to run
Publish SDK (npm) / publish (@officecli/officecli-sdk) (push) Waiting to run
Publish SDK (npm) / publish (@officecli/sdk) (push) Waiting to run
Publish SDK (npm) / publish (officecli-sdk) (push) Waiting to run
SDK smoke / smoke (windows-latest) (push) Waiting to run
SDK smoke / smoke (macos-latest) (push) Waiting to run
SDK smoke / smoke (ubuntu-latest) (push) Waiting to run
Skill parity / diff (push) Waiting to run
63 lines
3.0 KiB
Bash
63 lines
3.0 KiB
Bash
#!/bin/bash
|
|
# presentation-settings.sh — exercise the full pptx `presentation` property
|
|
# surface (schemas/help/pptx/presentation.json) using the officecli CLI directly.
|
|
#
|
|
# `presentation` is a read-only container at path "/"; you only set/get it. Six
|
|
# groups: metadata, slide setup, print, slideshow, privacy, theme. CLI twin of
|
|
# presentation-settings.py (officecli SDK); both produce an equivalent
|
|
# presentation-settings.pptx.
|
|
# NOTE: intentionally NO `set -e`. Like the SDK twin's doc.batch, this script
|
|
# tolerates forward-compat 'UNSUPPORTED props' warnings (officecli exit 2) and
|
|
# keeps building so the full document is produced.
|
|
FILE="$(dirname "$0")/presentation-settings.pptx"
|
|
echo "Building $FILE ..."
|
|
rm -f "$FILE"
|
|
officecli create "$FILE"
|
|
officecli open "$FILE"
|
|
|
|
# --- A title slide (blank pptx has master+layouts but no slides) ---
|
|
officecli add "$FILE" / --type slide
|
|
officecli add "$FILE" "/slide[1]" --type shape --prop geometry=rect \
|
|
--prop left=2cm --prop top=3cm --prop width=26cm --prop height=4cm \
|
|
--prop fill=accent1 --prop text="Presentation Settings" \
|
|
--prop fontSize=40 --prop color=FFFFFF --prop bold=true
|
|
|
|
# --- 1. Metadata (core + extended) ---
|
|
officecli set "$FILE" / --prop author="Jane Author" --prop title="Q4 Business Review" \
|
|
--prop subject=Strategy --prop keywords="q4,review,strategy" \
|
|
--prop description="Quarterly business review deck." --prop category=Marketing \
|
|
--prop lastModifiedBy=Editorial --prop revisionNumber=3
|
|
officecli set "$FILE" / --prop extended.company="Acme Corp" \
|
|
--prop extended.manager="Dana Lead" --prop extended.template="Widescreen.potx"
|
|
|
|
# --- 2. Slide setup (slideSize preset; explicit slideWidth/Height = custom) ---
|
|
officecli set "$FILE" / --prop slideSize=widescreen \
|
|
--prop firstSlideNum=1 --prop rtl=false --prop compatMode=false
|
|
|
|
# --- 3. Print ---
|
|
officecli set "$FILE" / --prop print.what=slides --prop print.colorMode=color \
|
|
--prop print.frameSlides=true --prop print.hiddenSlides=false --prop print.scaleToFitPaper=true
|
|
|
|
# --- 4. Slideshow ---
|
|
officecli set "$FILE" / --prop show.loop=false --prop show.narration=true \
|
|
--prop show.animation=true --prop show.useTimings=true
|
|
|
|
# --- 5. Privacy ---
|
|
officecli set "$FILE" / --prop removePersonalInfo=false
|
|
|
|
# --- 6. Theme — palette (dk/lt + accent1..6) and major/minor fonts ---
|
|
officecli set "$FILE" / \
|
|
--prop theme.color.dk1=1A1A1A --prop theme.color.lt1=FFFFFF \
|
|
--prop theme.color.dk2=2F3640 --prop theme.color.lt2=EEF1F5 \
|
|
--prop theme.color.accent1=1F6FEB --prop theme.color.accent2=E3572A \
|
|
--prop theme.color.accent3=2DA44E --prop theme.color.accent4=BF8700 \
|
|
--prop theme.color.accent5=8250DF --prop theme.color.accent6=1B7C83 \
|
|
--prop theme.color.hlink=0969DA --prop theme.color.folHlink=8250DF
|
|
officecli set "$FILE" / \
|
|
--prop theme.font.major.latin=Georgia --prop theme.font.minor.latin=Calibri \
|
|
--prop theme.font.major.eastAsia=SimHei --prop theme.font.minor.eastAsia=SimSun
|
|
|
|
officecli close "$FILE"
|
|
officecli validate "$FILE"
|
|
echo "Created: $FILE"
|