#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";

// Create document
using var doc = WordprocessingDocument.Create(outputPath, WordprocessingDocumentType.Document);
var mainPart = doc.AddMainDocumentPart();
mainPart.Document = new Document();
var body = new Body();
mainPart.Document.Append(body);

// Set document defaults for Chinese text
var settings = mainPart.AddNewPart<DocumentSettingsPart>();
settings.Settings = new Settings();

// Page setup - A4
var sectPr = new SectionProperties(
    new PageSize { Width = 11906, Height = 16838 },
    new PageMargin { Top = 1440, Right = 1440, Bottom = 1440, Left = 1440, Header = 720, Footer = 720 }
);

// Title
var titlePara = new Paragraph(
    new ParagraphProperties(
        new Justification { Val = JustificationValues.Center },
        new SpacingBetweenLines { After = "400" }
    ),
    new Run(
        new RunProperties(
            new RunFonts { EastAsia = "Microsoft YaHei", Ascii = "Microsoft YaHei", HighAnsi = "Microsoft YaHei" },
            new FontSize { Val = "44" },
            new Bold(),
            new Languages { EastAsia = "zh-CN" }
        ),
        new Text("宫崎骏：动画艺术的诗意守护者")
    )
);
body.Append(titlePara);

// Introduction paragraph
body.Append(CreateParagraph("　　宫崎骏（Hayao Miyazaki），1941年1月5日出生于日本东京都文京区的他，是世界动画史上最杰出的导演、漫画家之一。他与押井守、手冢治虫并称为\"日本动画三大师\"，其作品以精湛的绘画技艺、深邃的人文关怀和独特的东方美学享誉全球。宫崎骏不仅是吉卜力工作室的创始人之一，更是日本动画走向世界的重要推手，他的名字已成为动画艺术最高水准的代名词。", false));

// Section 1
body.Append(CreateHeading("一、早年经历与艺术启蒙", 1));
body.Append(CreateParagraph("　　宫崎骏出生于战火纷飞的年代，他的童年在战争的阴影中度过。1945年二战结束前，他随家人从东京疏散到栃木县乡下，这段与大自然亲密接触的经历成为他日后创作的重要灵感来源。在乡村的田野间，他观察蝴蝶翩翩起舞、聆听青蛙鸣叫、追逐蜻蜓飞舞，这些看似平凡的乡村景象日后都化作他动画中最为动人的场景。", false));

body.Append(CreateParagraph("　　1958年，17岁的宫崎骏观看了日本首部彩色动画电影《白蛇传》，这部来自东映公司的作品深深震撼了这位少年。尽管当时动画在日本被视为\"小儿科\"，宫崎骏却从中看到了无限的艺术可能。此后，他立志要创作出\"能让孩子和大人共同感动\"的动画作品。", false));

body.Append(CreateParagraph("　　1963年，宫崎骏大学毕业后进入东映动画公司工作，师从动画师福田和彦。在东映期间，他从最基础的动画制作做起，逐步掌握了动画创作的核心技术。1971年，他离开东映，与高田勋、大冢康生等人组建新团队，开始了独立创作的道路。这段时期的工作经历为他日后的创作积累了宝贵的经验。", false));

// Section 2
body.Append(CreateHeading("二、创作生涯与代表作品", 1));
body.Append(CreateParagraph("　　1979年，宫崎骏执导了首部动画电影《鲁邦三世：卡里奥斯特罗城》，这部作品虽然在票房上并不成功，却展现了他独特的创作风格。1984年，他推出《风之谷》，这部作品标志着他个人风格的成熟。影片中对人与自然关系的深刻思考、精美绝伦的飞行场景以及个性鲜明的人物塑造，都让观众眼前一亮。", false));

body.Append(CreateParagraph("　　1985年，宫崎骏与高田勋共同创建了吉卜力工作室，工作室的名字取自二战时期意大利军用侦察机\"Ghibli\"，寓意\"飞翔\"。从此，宫崎骏进入创作的黄金时期，连续推出多部享誉世界的经典作品。", false));

body.Append(CreateParagraph("　　1986年的《天空之城》带领观众踏上一段奇幻的空中冒险；1988年的《龙猫》和《萤火虫之墓》同年上映，两部作品虽风格迥异，却都成为永恒的经典。其中《龙猫》以其纯真的童趣和温暖的亲情感动了无数观众，片中那个毛茸茸、胖乎乎的龙猫形象已成为日本动画的象征之一。", false));

body.Append(CreateParagraph("　　1992年的《红猪》以独特的浪漫主义风格讲述了猪脸飞行员的传奇故事；1997年的《幽灵公主》则是宫崎骏创作的巅峰之作，该片以日本战国时代为背景，探讨了人类与自然的关系，展现了极为深刻的生态哲学思考，票房收入高达197亿日元，创造了日本电影史上的奇迹。", false));

body.Append(CreateParagraph("　　2001年的《千与千寻》将宫崎骏的国际声誉推向顶峰。这部作品讲述了少女千寻在神秘汤屋的冒险经历，融合了日本传统文化元素与深刻的成长主题。该片不仅获得日本电影金像奖最佳影片，更斩获柏林电影节金熊奖和奥斯卡最佳动画长片奖，成为首部获得奥斯卡奖的日本动画电影。", false));

body.Append(CreateParagraph("　　此后，宫崎骏陆续推出《哈尔的移动城堡》（2004）、《悬崖上的金鱼姬》（2008）、《起风了》（2013）等作品，每一部都展现了他对动画艺术的执着追求。2013年的《起风了》以零式战机设计者堀越二郎的真实故事为蓝本，是一部充满反战思想的现实主义作品。", false));

// Section 3
body.Append(CreateHeading("三、艺术风格与创作理念", 1));
body.Append(CreateParagraph("　　宫崎骏的艺术风格独树一帜，他始终坚持手绘动画的创作方式，拒绝过度依赖电脑特效。在他的作品中，每一帧画面都如同精美的油画，色彩运用丰富而不失和谐，线条流畅而富有生命力。他对细节的追求近乎苛刻，据说在制作《幽灵公主》时，他亲自监督每一帧的绘制，确保画面的每一个细节都完美无缺。", false));

body.Append(CreateParagraph("　　宫崎骏的作品中始终贯穿着\"自然\"与\"人文\"两大主题。他敬畏自然，认为人类只是自然的一部分而非主宰者。在他的电影里，参天大树会说话、森林中有精灵居住、万物皆有灵性。《幽灵公主》中的人类与森林之神的冲突、《风之谷》中被污染的\"腐海\"、《悬崖上的金鱼姬》中神秘的海底世界，都体现了他对自然的深刻敬畏。", false));

body.Append(CreateParagraph("　　另一方面，宫崎骏的作品中充满了对人文精神的关怀。他关注儿童的成长与教育，在《龙猫》和《千与千寻》中，孩子们的纯真与勇气成为战胜困难的关键力量。他尊重女性的独立人格，作品中的女性角色往往比男性更加坚强、智慧。《幽灵公主》中的珊、《千与千寻》中的千寻、《哈儿的移动城堡》中的苏菲，都是这种女性力量的体现。", false));

body.Append(CreateParagraph("　　在创作理念上，宫崎骏坚持\"动画不是娱乐，而是传递灵魂的媒介\"。他反对将动画简单视为儿童娱乐的观点，认为动画可以表达最深刻的思想和最复杂的情感。他曾表示：\"我想告诉孩子们，这个世界值得我们活下去。\"这种积极向上的价值观贯穿于他的所有作品之中。", false));

// Section 4
body.Append(CreateHeading("四、退休与复出", 1));
body.Append(CreateParagraph("　　2013年《起风了》上映后，宫崎骏宣布退休，不再执导长篇动画电影。这位72岁的动画大师表示，他希望将更多时间用于陪伴家人和阅读。然而，退休后的宫崎骏并未真正停下创作的脚步。2017年，他宣布复出，开始制作新作《你想活出怎样的人生》。这部作品改编自吉野源三郎的同名小说，探讨了关于人生意义和价值观的深刻问题。", false));

body.Append(CreateParagraph("　　值得一提的是，宫崎骏的长子宫崎吾朗也是一位动画导演，但宫崎骏对儿子的作品要求极为严格。据说宫崎吾朗执导的《虞美人盛开的山坡》因为父亲的多番干涉而多次返工重做。这段父子之间的艺术传承与冲突，也成为日本动画界的一段佳话。", false));

// Section 5
body.Append(CreateHeading("五、影响与遗产", 1));
body.Append(CreateParagraph("　　宫崎骏对世界动画艺术的贡献是不可估量的。他的作品不仅在日本国内广受好评，更在全球范围内获得高度认可。迪士尼公司对他青睐有加，将其作品引进欧美市场并获得巨大成功。史蒂夫·乔布斯生前也多次表达对宫崎骏作品的喜爱，皮克斯的动画师们更是将宫崎骏视为学习的榜样。", false));

body.Append(CreateParagraph("　　在技术层面，宫崎骏对手绘动画的坚守为动画艺术保留了最纯粹的表现形式。在电脑动画泛滥的今天，他始终坚持传统手绘技法，这种对\"工匠精神\"的执着令人钦佩。他曾说：\"电脑技术永远无法替代手绘的温度。\"正是这种温度，让他的作品能够跨越语言和文化的障碍，触动全世界观众的心弦。", false));

body.Append(CreateParagraph("　　宫崎骏所创建的吉卜力工作室已成为日本动画的一面旗帜。工作室培养了众多优秀的动画人才，延续着日本动画的辉煌传统。如今，尽管宫崎骏已步入晚年，但他的艺术精神将继续激励着一代又一代的动画人。", false));

// Conclusion
body.Append(CreateHeading("结语", 1));
body.Append(CreateParagraph("　　宫崎骏用半个世纪的创作生涯，证明了他是当之无愧的\"动画大师\"。他的作品不仅仅是娱乐产品，更是对人类灵魂的深度叩问。从《风之谷》到《千与千寻》，从《龙猫》到《起风了》，他用独特的艺术语言描绘了一个充满奇思妙想、又不失人文关怀的世界。在这个物欲横流的时代，宫崎骏的作品如同一股清泉，提醒我们：真正的艺术，能够让世界变得更加美好。", false));

body.Append(CreateParagraph("　　宫崎骏曾说：\"创作动画就是在创造一个世界。\"他做到了。他用画笔和想象力，为我们构建了一个个令人流连忘返的梦幻王国。在这个世界里，有会飞的猪、有会说话的猫、有藏在树洞里的精灵、有云端上的城堡。这些美好的形象将永远活在观众的心中，成为人类共同的文化遗产。", false));

// Append section properties
body.Append(sectPr);

// Save
mainPart.Document.Save();

Console.WriteLine($"Document created: {outputPath}");

// Helper method to create paragraph
static Paragraph CreateParagraph(string text, bool indent)
{
    var para = new Paragraph();
    var paraProps = new ParagraphProperties(
        new SpacingBetweenLines { After = "200", Line = "360", LineRule = LineSpacingRuleValues.Auto }
    );
    if (indent)
    {
        paraProps.Append(new Indentation { FirstLineChars = "200" });
    }
    para.Append(paraProps);
    
    var run = new Run(
        new RunProperties(
            new RunFonts { EastAsia = "Microsoft YaHei", Ascii = "Microsoft YaHei", HighAnsi = "Microsoft YaHei" },
            new FontSize { Val = "24" },
            new FontSizeComplexScript { Val = "24" },
            new Languages { EastAsia = "zh-CN" }
        ),
        new Text(text) { Space = SpaceProcessingModeValues.Preserve }
    );
    para.Append(run);
    return para;
}

// Helper method to create heading
static Paragraph CreateHeading(string text, int level)
{
    var para = new Paragraph();
    var paraProps = new ParagraphProperties(
        new Justification { Val = level == 1 ? JustificationValues.Left : JustificationValues.Left },
        new SpacingBetweenLines { Before = "400", After = "200" },
        new OutlineLevel { Val = level - 1 }
    );
    para.Append(paraProps);
    
    var runProps = new RunProperties(
        new RunFonts { EastAsia = "Microsoft YaHei", Ascii = "Microsoft YaHei", HighAnsi = "Microsoft YaHei" },
        new Bold(),
        new Languages { EastAsia = "zh-CN" }
    );
    
    if (level == 1)
    {
        runProps.Append(new FontSize { Val = "32" });
        runProps.Append(new FontSizeComplexScript { Val = "32" });
    }
    else
    {
        runProps.Append(new FontSize { Val = "28" });
        runProps.Append(new FontSizeComplexScript { Val = "28" });
    }
    
    var run = new Run(runProps, new Text(text));
    para.Append(run);
    return para;
}