1

查看 USCIS 表格N-400,您可以看到在第 9 部分中有两个按钮,Add Children并且Go to continuation page查看支持这些按钮的 XML/JS 您会获得对应字段的此节点:

<event activity="click" name="event__click">
    <script contentType="application/x-javascript">
        _KidsContPage.addInstance(1);
        xfa.form.recalculate(1);
        xfa.host.pageDown( );
    </script>
</event>

这用于在用户有超过 8 个孩子的情况下将自动隐藏页面添加到表单中。我的问题是使用iTextSharp,或者其他方法,我如何创建页面的这个新实例?如果你注意到你可以制作这个额外的孩子页面的多个副本,如果你碰巧有超过 25 个孩子,所以不要因为这种可能性的可能性而偏离轨道,我需要知道如何创建这样的倍数页面...

这是我到目前为止所拥有的:

PdfAction cloneAction = PdfAction
    .JavaScript(ClonePage("KidsContPage"), stamper.Writer);
stamper.Writer.AddJavaScript(cloneAction);

我也试过 SetOpenAction

stamper.Writer.SetOpenAction(cloneAction);


    private string ClonePage(string formName)
    {
        return @"
if (xfa.host.name != 'XFAPresentationAgent') {
    $._" + formName + @".addInstance(1);
    if (xfa.host.version < 8) {
        xfa.form.recalculate(1);
    }
}";
    }

我知道我的ClonePage()代码正在运行,因为我在之前测试它时看到了警报,问题出在 javascript 中,或者我可能需要在服务器上运行它,或者谁知道我需要做什么。我打开了XFA PDFLiveCycle,这就是它为它推出的 JS,我一定是在某个地方遗漏了一些小东西……而且它在 LiveCycle 中运行良好。请帮忙。

4

0 回答 0