#r "nuget: DocumentFormat.OpenXml, 3.2.0"

using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;

string outputPath = "C:/Users/Administrator/Desktop/xxx/宫崎骏介绍.docx";

// Ensure directory exists
Directory.CreateDirectory(Path.GetDirectoryName(outputPath)!);

using var doc = WordprocessingDocument.Create(outputPath, WordprocessingDocumentType.Document);
var mainPart = doc.AddMainDocumentPart();

// ── Styles ──
var stylesPart = mainPart.AddNewPart<StyleDefinitionsPart>();
stylesPart.Styles = new Styles();

// DocDefaults
var docDefaults = new DocDefaults();
docDefaults.Append(new RunPropertiesDefault(
    new RunPropertiesBaseStyle(
        new RunFonts { Ascii = "SimSun", HighAnsi = "SimSun", EastAsia = "SimSun", ComplexScript = "Arial" },
        new FontSize { Val = "24" },
        new FontSizeComplexScript { Val = "24" },
        new Languages { Val = "zh-CN", EastAsia = "zh-CN" }
    )
));
docDefaults.Append(new ParagraphPropertiesDefault(
    new ParagraphPropertiesBaseStyle(
        new SpacingBetweenLines { After = "200", Line = "360", LineRule = LineSpacingRuleValues.Auto }
    )
));
stylesPart.Styles.Append(docDefaults);

// Title style
var titleStyle = new Style
{
    Type = StyleValues.Paragraph,
    StyleId = "Title",
    Default = false
};
titleStyle.Append(new StyleName { Val = "Title" });
titleStyle.Append(new BasedOn { Val = "Normal" });
titleStyle.Append(new StyleParagraphProperties(
    new Justification { Val = JustificationValues.Center },
    new SpacingBetweenLines { After = "400" }
));
titleStyle.Append(new StyleRunProperties(
    new Bold(),
    new FontSize { Val = "44" },
    new FontSizeComplexScript { Val = "44" },
    new Languages { Val = "zh-CN" }
));
stylesPart.Styles.Append(titleStyle);

// Heading1 style
var h1Style = new Style
{
    Type = StyleValues.Paragraph,
    StyleId = "Heading1",
    Default = false
};
h1Style.Append(new StyleName { Val = "Heading 1" });
h1Style.Append(new BasedOn { Val = "Normal" });
h1Style.Append(new StyleParagraphProperties(
    new KeepNext(),
    new SpacingBetweenLines { Before = "240", After = "120" }
));
h1Style.Append(new StyleRunProperties(
    new Bold(),
    new FontSize { Val = "32" },
    new FontSizeComplexScript { Val = "32" }
));
stylesPart.Styles.Append(h1Style);

// Normal style
var normalStyle = new Style
{
    Type = StyleValues.Paragraph,
    StyleId = "Normal",
    Default = true
};
normalStyle.Append(new StyleParagraphProperties(
    new SpacingBetweenLines { After = "200", Line = "360", LineRule = LineSpacingRuleValues.Auto }
));
normalStyle.Append(new StyleRunProperties(
    new RunFonts { Ascii = "SimSun", HighAnsi = "SimSun", EastAsia = "SimSun" },
    new FontSize { Val = "24" },
    new FontSizeComplexScript { Val = "24" }
));
stylesPart.Styles.Append(normalStyle);

stylesPart.Styles.Save();

// ── Document body ──
var body = new Body();

// Title
body.Append(new Paragraph(
    new ParagraphProperties(new ParagraphStyleId { Val = "Title" }),
    new Run(new Text("宫崎骏") { Space = SpaceProcessingModeValues.Preserve })
));

// Subtitle
body.Append(new Paragraph(
    new ParagraphProperties(
        new Justification { Val = JustificationValues.Center },
        new SpacingBetweenLines { After = "400" }
    ),
    new Run(
        new RunProperties(new Italic(), new FontSize { Val = "28" }),
        new Text("日本动画导演、漫画家、手冢治虫之后日本动画界的扛鼎人物") { Space = SpaceProcessingModeValues.Preserve }
    )
));

// Section: 早年经历
body.Append(new Paragraph(
    new ParagraphProperties(new ParagraphStyleId { Val = "Heading1" }),
    new Run(new Text("一、早年经历"))
));

body.Append(new Paragraph(
    new Run(new Text("宫崎骏1941年1月5日出生于日本东京都文京 区，本名姓宫崎，名骏。他出身于一个经营飞机附件制造业的家庭，这对他日后的创作产生了深远影响。少年时期的宫崎骏深受当时动画作品的影响，尤其是手冢治虫的《铁扇公主》和苏联动画《雪后》令他着迷不已。") { Space = SpaceProcessingModeValues.Preserve })
));

body.Append(new Paragraph(
    new Run(new Text("1963年，宫崎骏进入东映动画公司工作，担任动画师一职。在此期间，他参与了《汪汪忠臣藏》《我爱你·杰克·伦敦》等作品的制作，逐渐积累了动画制作的经验。1971年，他与高畑勋等人一同离开东映，随后加入了日本animation株式会社，开始了长达数十年的合作生涯。") { Space = SpaceProcessingModeValues.Preserve })
));

// Section: 动画成就
body.Append(new Paragraph(
    new ParagraphProperties(new ParagraphStyleId { Val = "Heading1" }),
    new Run(new Text("二、主要动画成就"))
));

body.Append(new Paragraph(
    new Run(new Text("1985年，宫崎骏与高畑勋等人共同创立了吉卜力工作室，标志着日本动画电影进入了一个新的时代。同年，他执导的《天空之城》正式上映，影片以其宏大的想象力、优美的画面和深刻的主题，一举奠定了宫崎骏在动画界的地位。") { Space = SpaceProcessingModeValues.Preserve })
));

body.Append(new Paragraph(
    new Run(new Text("1988年的《龙猫》和1997年的《幽灵公主》更是将宫崎骏的创作推向巅峰。《龙猫》以其纯真的童趣和对自然的赞美，打动了无数观众的心，成为永恒的经典。而《幽灵公主》则探讨了人类与自然之间的矛盾与和谐，以196亿日元的票房成绩创下了当时日本电影票房的最高纪录。") { Space = SpaceProcessingModeValues.Preserve })
));

body.Append(new Paragraph(
    new Run(new Text("2001年，宫崎骏推出了《千与千寻》，该片讲述了一个少女在神灵世界的冒险故事。影片不仅在日本国内获得了巨大成功，更在国际上赢得了广泛赞誉。2003年，《千与千寻》荣获第75届奥斯卡最佳动画长片奖，成为首部获得该奖项的非英语动画电影。") { Space = SpaceProcessingModeValues.Preserve })
));

body.Append(new Paragraph(
    new Run(new Text("此后的《哈尔的移动城堡》（2004）、《悬崖上的金鱼姬》（2008）、《起风了》（2013）等作品，无一不展现 出宫崎骏惊人的创作力和对动画艺术的执着追求。2013年，《起风了》入围第70届威尼斯电影节金狮奖提名，再次证明了他在国际影坛的影响力。") { Space = SpaceProcessingModeValues.Preserve })
));

// Section: 艺术特点
body.Append(new Paragraph(
    new ParagraphProperties(new ParagraphStyleId { Val = "Heading1" }),
    new Run(new Text("三、艺术特点与创作风格"))
));

body.Append(new Paragraph(
    new Run(new Text("宫崎骏的作品具有鲜明的个人风格和深刻的思想内涵。首先，他始终关注人与自然的关系，在《幽灵公主》《风之谷》《悬崖上的金鱼姬》等作品中，自然被描绘成具有灵魂和力量的存在，人类与自然的关系是冲突还是和谐，是他一以贯之的思考主题。") { Space = SpaceProcessingModeValues.Preserve })
));

body.Append(new Paragraph(
    new Run(new Text("其次，宫崎骏的作品充满了对纯真童年的怀念和对成长的深刻洞察。《龙猫》《千与千寻》《哈尔的移动城堡》等作品，都以儿童或少年为主人公，在奇幻的冒险经历中完成对自我的认知和成长。这种对成长的细腻描绘，使他的作品能够跨越年龄的界限，引发各个年龄段观众的共鸣。") { Space = SpaceProcessingModeValues.Preserve })
));

body.Append(new Paragraph(
    new Run(new Text("再者，宫崎骏坚持手绘动画的制作方式，即使在数字技术飞速发展的今天，他依然保持着对传统动画技法的热爱。每一帧画面都凝聚着动画师们的心血，这种对品质的极致追求，使他的作品具有了独特的艺术质感和温度。") { Space = SpaceProcessingModeValues.Preserve })
));

// Section: 荣誉
body.Append(new Paragraph(
    new ParagraphProperties(new ParagraphStyleId { Val = "Heading1" }),
    new Run(new Text("四、荣誉与影响"))
));

body.Append(new Paragraph(
    new Run(new Text("宫崎骏的成就得到了全世界的认可。2005年，他荣获法国戛纳电影节名誉金棕榈奖；2012年，获得了日本文化勋章；2013年，被授予美国电影艺术与科学学院终身成就奖。此外，他还是美国动画名人堂成员，以及英国电影协会的名誉会员。") { Space = SpaceProcessingModeValues.Preserve })
));

body.Append(new Paragraph(
    new Run(new Text("宫崎骏及其创立的吉卜力工作室，对日本乃至世界动画产业都产生了深远影响。他培养了大批优秀的动画人才，将日本动画提升到了一个新的艺术高度。在他的推动下，日本动画不再仅仅是娱乐产品，而成为了具有深刻思想性和艺术价值的文化载体。") { Space = SpaceProcessingModeValues.Preserve })
));

body.Append(new Paragraph(
    new Run(new Text("更为重要的是，宫崎骏通过其作品向世界传递了和平、环保、博爱等普世价值。他的电影不仅为观众带来了视听享受，更引发了人们对自身存在方式和社会发展的深层思考。正因如此，宫崎骏被誉为\"动画界的莎士比亚\"，其作品也被称为\"写给所有人的童话\"。") { Space = SpaceProcessingModeValues.Preserve })
));

// Section: 结语
body.Append(new Paragraph(
    new ParagraphProperties(new ParagraphStyleId { Val = "Heading1" }),
    new Run(new Text("五、结语"))
));

body.Append(new Paragraph(
    new Run(new Text("从《风之谷》到《起风了》，宫崎骏用四十余年的时光，为我们编织了一个又一个美丽的梦境。他的作品不仅仅是动画，更是对人类文明和自然关系的深刻思考，是对生命意义的不懈探索。") { Space = SpaceProcessingModeValues.Preserve })
));

body.Append(new Paragraph(
    new Run(new Text("2013年宣布退休后，宫崎骏一度淡出公众视野。然而他对动画的热爱从未消减，2023年他又宣布正在制作新作品。这位八十三岁高龄的动画大师，用一生诠释了对动画艺术的执着与热爱。") { Space = SpaceProcessingModeValues.Preserve })
));

body.Append(new Paragraph(
    new Run(new Text("宫崎骏曾说过：\"我宁可烧掉自己的手稿，也不想让平庸的作品问世。\"这句话充分体现了他对艺术的严谨态度和不懈追求。相信在未来的日子里，他的作品将继续激励着一代又一代的动画人，也将继续温暖着全世界观众的心灵。") { Space = SpaceProcessingModeValues.Preserve })
));

// Final section properties
body.Append(new SectionProperties(
    new PageSize { Width = (UInt32Value)11906U, Height = (UInt32Value)16838U },
    new PageMargin { Top = 1440, Right = (UInt32Value)1440U, Bottom = 1440, Left = (UInt32Value)1440U, Header = (UInt32Value)720U, Footer = (UInt32Value)720U, Gutter = (UInt32Value)0U }
));

mainPart.Document = new Document(body);
mainPart.Document.Save();

// Set document properties
var props = doc.PackageProperties;
if (props != null)
{
    props.Title = "宫崎骏介绍";
    props.Subject = "日本动画大师宫崎骏的生平与成就介绍";
}

Console.WriteLine($"文档已成功创建: {outputPath}");
