从php调用jrxml文件以生成pdf

时间:2011-06-06 10:16:38

标签: php pdf jasper-reports

我必须在我的php网站上生成jasper报告。

我想知道做这项工作需要什么。我被告知我需要php-java桥。但我希望这只是为了生成.jrxml文件。

我已经有了jrxml文件。 现在我如何从我的PHP代码中调用此文件,以生成pdf格式的jasper报告?

3 个答案:

答案 0 :(得分:2)

如果此文件位于您的服务器上,您可以使用任何php脚本中的file_open打开它。

编辑:最简单的方法似乎是使用像php-jasper-integration这样的东西。这样您就不需要使用java-php桥了。


如果您的服务器上没有它,只有客户端,则需要将其上传到您的网站,并在需要使用您的网站脚本时处理此文件。

以下是一些示例代码:

if(!isset($_FILES['userfile']['tmp_name'])){

    // starte Session
    //session_start(); // Headers sent out

?>

<form enctype="multipart/form-data" action="myscript.php" method="POST">
    <!-- MAX_FILE_SIZE must precede the file input field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="500000" />
    <!-- Name of input element determines name in $_FILES array -->
    Please upload a file.
    <br>
    <br>
    <input name="userfile" type="file" />
    <input type="submit" value="UPLOAD" />
</form>

<?php   

}
else {

?>
if ($_FILES['userfile']['tmp_name'] == '') die ('No file submitted!');

$target = "uploaded/"; 
$target = $target . basename( $_FILES['userfile']['name']) ; 
$ok=1; 
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $target)) 
{
    echo "The file ". basename( $_FILES['userfile']['name']). " has been uploaded. Parsing will start soon. ";
} 
else {
    echo "Sorry, there was a problem uploading your file.<br>";
}

   // now do what you need with your file in $_FILES['userfile']['tmp_name']

答案 1 :(得分:1)

好吧,我可以使用PHP Jasper XML得到我想要的东西。它也是开源的。

答案 2 :(得分:0)

使用ireports创建jrxml并使用java执行,你需要像tomcat这样的服务器。寻找jru-php的信息它会帮助你