Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java itextpdf从pdf加载javascript_Javascript_Java_Html_Itext - Fatal编程技术网

使用java itextpdf从pdf加载javascript

使用java itextpdf从pdf加载javascript,javascript,java,html,itext,Javascript,Java,Html,Itext,这是我用itext pdf库从java创建pdf的代码,我成功了它。我现在的问题是,当onload调用时,我不能从html添加javascript代码,也不能从java代码添加javascript代码。 我没有任何例外。 我做错了什么?有可能实现吗 public class App { public static final String src = "new.pdf"; public static final String HTML = "test.html"; pu

这是我用itext pdf库从java创建pdf的代码,我成功了它。我现在的问题是,当onload调用时,我不能从html添加javascript代码,也不能从java代码添加javascript代码。 我没有任何例外。 我做错了什么?有可能实现吗

public class App {
    public static final String src = "new.pdf";
    public static final String HTML = "test.html";

    public static void main(String[] args) throws IOException, DocumentException {


        Document document = new Document();
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(src));
      //  writer.addJavaScript("<script>alert('asdas')</script>");
        document.open();
        document.setJavaScript_onLoad("yourFunction()");
        XMLWorkerHelper.getInstance().parseXHtml(writer, document, new FileInputStream(HTML));
        document.close();
    }

}
公共类应用程序{
公共静态最终字符串src=“new.pdf”;
公共静态最终字符串HTML=“test.HTML”;
公共静态void main(字符串[]args)引发IOException、DocumentException{
文档=新文档();
PdfWriter writer=PdfWriter.getInstance(文档,新文件输出流(src));
//addJavaScript(“警报('asdas')”);
document.open();
setJavaScript_onLoad(“yourFunction()”);
XMLWorkerHelper.getInstance().parseXHtml(编写器、文档、新文件输入流(HTML));
document.close();
}
}


.col{padding:3px20px 3px20px}
函数yourFunction(){
警报(“您单击了底部文本”);
}
样本头

字符串1 : 1234354545 字符串32 :雷尔 字符串3 :ureuiu 日期 :dfjkdjk




联系我们
XMLWorker在生成PDF文件时无法解析Javascript。XMLWorker实际上会忽略它,因此无论函数在HTML文件中,尝试使用setJavaScript_onLoad()调用它都是无效的。我不确定您在这里想要实现什么,但是您可以使用Java功能来评估嵌入式Javascript。您将无法在iText上下文中运行脚本

如果您需要在PDF中嵌入Javascript,我会在解析HTML后使用iText添加它。这需要单独使用Javascript,并根据提供的API进行调整。您需要检查Javascript API,以查看您可以在PDF文件中执行哪些操作。通常,您将向页面、表单等添加一个“附加操作”字典,以便能够运行Javascript。您可以查看PDF规范,了解如何构造AA字典以及提供了哪些触发器。但同样,不要期望能够将Javascript for HTML放在PDF中,而期望它能够开箱即用


您还需要更具体地说明您在Javascript中尝试执行的操作以及您尝试执行这些操作的时间,以便我们在回答中更具体一些。

XMLWorker在生成PDF文件时无法解析Javascript。XMLWorker实际上会忽略它,因此无论函数在HTML文件中,尝试使用setJavaScript_onLoad()调用它都是无效的。我不确定您在这里想要实现什么,但是您可以使用Java功能来评估嵌入式Javascript。您将无法在iText上下文中运行脚本

如果您需要在PDF中嵌入Javascript,我会在解析HTML后使用iText添加它。这需要单独使用Javascript,并根据提供的API进行调整。您需要检查Javascript API,以查看您可以在PDF文件中执行哪些操作。通常,您将向页面、表单等添加一个“附加操作”字典,以便能够运行Javascript。您可以查看PDF规范,了解如何构造AA字典以及提供了哪些触发器。但同样,不要期望能够将Javascript for HTML放在PDF中,而期望它能够开箱即用


您还需要更具体地说明您在Javascript中尝试做什么,以及何时尝试为我们做这些,以便在我们的回答中更具体一些。

我看到了这篇文章,我认为旧版本也可以,我看到了这篇文章,我认为旧版本也可以
<html>
    <head>
        <style>.col{padding:3px 20px 3px 20px}</style>
        <script type="text/javascript">
          function yourFunction(){
               alert('You clicked the bottom text');
           }
        </script>
    </head>
<body style="font-family:tahoma" onload="yourFunction()">
<div style="background:rgb(230,230,230); padding:5px ;border:1px solid black;">
    <b style="color:rgb(51,153,255)">Sample header</b>
    <img style="float:right" height="25px" width="80px" src="resources/images/itext.png"/>
</div>
<br/>
<table border='0' style='border-collapse: collapse;'>
    <tr>
        <td class="col">String 1</td>
        <td class="col">: 1234354545</td>
    </tr>
    <tr>
        <td class="col">String 32</td>
        <td class="col">: rere</td>
    </tr>
    <tr>
        <td class="col">String 3</td>
        <td class="col">: ureuiu</td>
    </tr>
    <tr>
        <td class="col">Date</td>
        <td class="col">: dfdfjkdjk</td>
    </tr>
</table>
<br/>
<br/>
<br/>
<hr/>
<br/>
Contact us
</body>
</html>