#!/usr/bin/env python3 """Generated OfficeCLI script for summer-sizzle-onepager.docx""" import json, subprocess, tempfile, os FILE = "summer-sizzle-onepager.docx" def batch(commands): with tempfile.NamedTemporaryFile(mode="w", suffix=".json", delete=False) as f: json.dump(commands, f) f.flush() result = subprocess.run( ["officecli", "batch", FILE, "--input", f.name], capture_output=True, text=True ) os.unlink(f.name) if result.returncode != 0: print(result.stderr or result.stdout) raise RuntimeError(f"Batch failed: {result.returncode}") print(result.stdout, end="") subprocess.run(["officecli", "create", FILE], check=True) # Turn 1: summer-sizzle-onepager-turn1-create batch(json.loads('[\n {\n "command": "add",\n "parent": "/styles",\n "type": "style",\n "props": {\n "id": "OnePagerHeader",\n "name": "OnePagerHeader",\n "type": "paragraph",\n "basedOn": "Normal",\n "font": "Arial",\n "size": "36",\n "bold": "true",\n "color": "FFFFFF",\n "alignment": "center",\n "spaceBefore": "0",\n "spaceAfter": "0"\n }\n },\n {\n "command": "add",\n "parent": "/styles",\n "type": "style",\n "props": {\n "id": "OnePagerSubhead",\n "name": "OnePagerSubhead",\n "type": "paragraph",\n "basedOn": "Normal",\n "font": "Arial",\n "size": "18",\n "bold": "true",\n "color": "2E7D32",\n "alignment": "center",\n "spaceBefore": "100",\n "spaceAfter": "100"\n }\n },\n {\n "command": "add",\n "parent": "/styles",\n "type": "style",\n "props": {\n "id": "OnePagerBody",\n "name": "OnePagerBody",\n "type": "paragraph",\n "basedOn": "Normal",\n "font": "Arial",\n "size": "11",\n "color": "333333",\n "alignment": "left",\n "spaceBefore": "60",\n "spaceAfter": "60",\n "lineSpacing": "276"\n }\n },\n {\n "command": "add",\n "parent": "/styles",\n "type": "style",\n "props": {\n "id": "OnePagerCTA",\n "name": "OnePagerCTA",\n "type": "paragraph",\n "basedOn": "Normal",\n "font": "Arial",\n "size": "14",\n "bold": "true",\n "color": "FFFFFF",\n "alignment": "center",\n "spaceBefore": "200",\n "spaceAfter": "100"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "Spring Into Savings",\n "style": "OnePagerHeader",\n "pbdr.top": "single;0;66BB6A;0",\n "pbdr.bottom": "single;0;66BB6A;0",\n "pbdr.left": "single;0;66BB6A;0",\n "pbdr.right": "single;0;66BB6A;0",\n "shading": "66BB6A"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "Greenleaf Home Products \\u2014 Spring Campaign 2026",\n "style": "OnePagerSubhead"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "",\n "style": "OnePagerBody",\n "pbdr.bottom": "single;4;A5D6A7;0"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "This spring, Greenleaf Home Products is excited to announce our biggest seasonal promotion yet. From March 15 \\u2013 April 10, customers can enjoy 20% off our entire line of eco-friendly home essentials, including our award-winning bamboo kitchen collection and organic cotton bedding range.",\n "style": "OnePagerBody"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "Campaign Highlights",\n "font": "Arial",\n "size": "14",\n "bold": "true",\n "color": "2E7D32",\n "spaceBefore": "200",\n "spaceAfter": "100"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "20% discount on all Greenleaf Home Products",\n "style": "OnePagerBody",\n "listStyle": "bullet"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "Promotion period: March 15 \\u2013 April 10, 2026",\n "style": "OnePagerBody",\n "listStyle": "bullet"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "Available in-store and online at greenleafhome.com",\n "style": "OnePagerBody",\n "listStyle": "bullet"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "Free shipping on orders over 50ドル during the campaign",\n "style": "OnePagerBody",\n "listStyle": "bullet"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "Exclusive early access for loyalty members starting March 12",\n "style": "OnePagerBody",\n "listStyle": "bullet"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "",\n "style": "OnePagerBody",\n "pbdr.bottom": "single;4;A5D6A7;0"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "Regional Distribution",\n "font": "Arial",\n "size": "14",\n "bold": "true",\n "color": "2E7D32",\n "spaceBefore": "200",\n "spaceAfter": "100"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "All regional teams will receive printed materials and digital assets by March 8. Point-of-sale displays ship separately and should arrive by March 12. Please coordinate with your local warehouse to confirm receipt and staging.",\n "style": "OnePagerBody"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "",\n "style": "OnePagerBody",\n "pbdr.bottom": "single;4;A5D6A7;0"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "Ready to grow your sales this spring?",\n "style": "OnePagerCTA",\n "shading": "2E7D32",\n "pbdr.top": "single;0;2E7D32;0",\n "pbdr.bottom": "single;0;2E7D32;0",\n "pbdr.left": "single;0;2E7D32;0",\n "pbdr.right": "single;0;2E7D32;0"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "Visit greenleafhome.com/spring",\n "style": "OnePagerCTA",\n "shading": "2E7D32",\n "pbdr.bottom": "single;0;2E7D32;0",\n "pbdr.left": "single;0;2E7D32;0",\n "pbdr.right": "single;0;2E7D32;0"\n }\n },\n {\n "command": "add",\n "parent": "/body",\n "type": "paragraph",\n "props": {\n "text": "\\u00a9 2026 Greenleaf Home Products. All rights reserved. | Contact: campaigns@greenleafhome.com",\n "font": "Arial",\n "size": "8",\n "color": "888888",\n "alignment": "center",\n "spaceBefore": "300"\n }\n }\n]')) # Turn 2: summer-sizzle-onepager-turn1-edit batch(json.loads('[\n {\n "command": "set",\n "path": "/styles/OnePagerHeader",\n "props": {\n "color": "FFFFFF"\n }\n },\n {\n "command": "set",\n "path": "/styles/OnePagerSubhead",\n "props": {\n "color": "E65100"\n }\n },\n {\n "command": "set",\n "path": "/styles/OnePagerCTA",\n "props": {\n "color": "FFFFFF"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=00100000]",\n "props": {\n "text": "Summer Sizzle Sale",\n "shading": "FF6D00",\n "pbdr.top": "single;0;FF6D00;0",\n "pbdr.bottom": "single;0;FF6D00;0",\n "pbdr.left": "single;0;FF6D00;0",\n "pbdr.right": "single;0;FF6D00;0"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=00100002]",\n "props": {\n "text": "Greenleaf Home Products \\u2014 Summer Campaign 2026",\n "color": "E65100"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=00100004]",\n "props": {\n "pbdr.bottom": "single;4;FFB74D;0"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=00100006]",\n "props": {\n "find": "This spring",\n "replace": "This summer"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=00100006]",\n "props": {\n "find": "biggest seasonal promotion",\n "replace": "hottest seasonal promotion"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=00100006]",\n "props": {\n "find": "March 15 \\u2013 April 10",\n "replace": "June 1 \\u2013 July 15"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=00100006]",\n "props": {\n "find": "20% off",\n "replace": "25% off"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=00100008]",\n "props": {\n "color": "E65100"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=0010000A]",\n "props": {\n "find": "20%",\n "replace": "25%"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=0010000C]",\n "props": {\n "find": "March 15 \\u2013 April 10",\n "replace": "June 1 \\u2013 July 15"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=00100014]",\n "props": {\n "pbdr.bottom": "single;4;FFB74D;0"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=00100016]",\n "props": {\n "color": "E65100"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=00100018]",\n "props": {\n "find": "March 8",\n "replace": "May 25"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=00100018]",\n "props": {\n "find": "March 12",\n "replace": "May 28"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=0010001A]",\n "props": {\n "pbdr.bottom": "single;4;FFB74D;0"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=0010001C]",\n "props": {\n "find": "grow your sales this spring",\n "replace": "heat up your sales this summer",\n "shading": "E65100",\n "pbdr.top": "single;0;E65100;0",\n "pbdr.bottom": "single;0;E65100;0",\n "pbdr.left": "single;0;E65100;0",\n "pbdr.right": "single;0;E65100;0"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=0010001E]",\n "props": {\n "find": "greenleafhome.com/spring",\n "replace": "greenleafhome.com/summer",\n "shading": "E65100",\n "pbdr.bottom": "single;0;E65100;0",\n "pbdr.left": "single;0;E65100;0",\n "pbdr.right": "single;0;E65100;0"\n }\n },\n {\n "command": "set",\n "path": "/body/p[@paraId=00100012]",\n "props": {\n "find": "March 12",\n "replace": "June 1"\n }\n }\n]')) subprocess.run(["officecli", "validate", FILE]) print(f"\nDone: {FILE}")

AltStyle によって変換されたページ (->オリジナル) /