You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Apps导出PDF时Expand Containers在Gallery和Container中失效求助

问题分析与解决方案

代码中的核心问题

你的代码存在几处语法和逻辑错误,导致ExpandContainers: true未生效,同时审批流程调用也会失败:

  1. PDF函数参数语法错误
    在file对象里的PDF()调用,你把配置参数写在了括号外面,这会导致该PDF生成时完全没应用ExpandContainers等设置,正确写法是把配置参数放进PDF()的第二个参数中。

  2. 冗余的PDF内容定义
    你在PDFContent里同时定义了ContentBytes和file两个包含PDF内容的字段,属于重复定义,只需要保留一个符合Power Automate要求的文件格式即可。

  3. 审批流程调用的参数错误
    最后一个参数的字符串拼接逻辑错误,直接把变量写在引号内Power Apps无法识别,需要用&做拼接,同时存在引号未闭合的问题,参数顺序也可能与Flow的要求不匹配。

修正后的代码

Set(
    PDFContent,
    {
        contentBytes: PDF(
            ResultMainContainer_Test,
            {
                Orientation: PaperOrientation.Portrait,
                Size: PaperSize.A4,
                DPI: 150,
                ExpandContainers: true
            }
        ),
        name: "Executive Summary.pdf"
    }
);

// 注意:请确认ApprovalEmail流程的输入参数顺序与调用顺序一致
ApprovalEmail.Run(
    "Executive Summary.pdf",
    "Please review and approve.",
    "Approver email",
    "[Approval request] " & User().Email & " " & User().FullName,
    PDFContent
);

确保ExpandContainers生效的额外配置

除了代码修正,还需要调整容器和Gallery的布局属性:

  • 主容器ResultMainContainer_Test:将Height设为Auto,不要固定为屏幕高度(比如App.Height),让容器能根据子内容自动扩展。
  • 右侧容器RightContainer_Test:同样把Height设为Auto,确保它能容纳Gallery的完整内容。
  • Gallery控件:将Height设为Self.TotalHeight,让Gallery显示所有项的全部内容,而非截断在屏幕范围内。

验证步骤

  1. 先单独测试PDF(ResultMainContainer_Test, {ExpandContainers: true}),可以将结果赋值给一个Image控件的Image属性,查看是否包含Gallery的全部内容。
  2. 确认Power Automate的ApprovalEmail流程接收的文件参数是contentBytes+name的标准文件对象格式。

内容的提问来源于stack exchange,提问作者Quincy Chan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 03:22:42