Files
wehub-resource-sync 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
chore: import upstream snapshot with attribution
2026-07-13 13:09:29 +08:00

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"