【问题标题】:Calling jrxml file from php for pdf generation从 php 调用 jrxml 文件以生成 pdf
【发布时间】:2011-06-06 10:16:37
【问题描述】:

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

我想知道完成这项工作需要什么。有人告诉我我需要 php-java 桥接器。但我希望这仅仅是为了生成一个 .jrxml 文件。

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

【问题讨论】:

标签: php pdf jasper-reports


【解决方案1】:

如果此文件位于您的服务器上,您可以使用任何 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']

【讨论】:

  • @Thariama 抱歉,但您可能不清楚我的观点。我已经编辑了我的问题。我的服务器上有 jrxml 文件。为什么我要调用它并在我的 php 代码中使用它是为了生成 pdf 文档。
  • 所以我假设您想在用户浏览您网站的特殊页面或按下按钮时生成 pdf,对吧?
  • 是的,该pdf必须使用jrxml文件生成。
  • @Thariama 谢谢...我现在正在寻找使用 php 中的 jrxml 文件生成 pdf 文件的代码...
  • php-jasper-integration/提供了生成php的功能,但不知道还需要哪些软件组件
【解决方案2】:

嗯,我可以通过使用PHP Jasper XML 得到我想要的。它也是开源的。

【讨论】:

    【解决方案3】:

    jrxml 是用 ireports 创建的,它是用 java 执行的,你需要一个像 tomcat 这样的服务器。找jru-php的资料,对你有帮助

    【讨论】:

    • 请提供更多信息。这 - 以目前的形式 - 不是一个完整的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 2017-08-04
    • 2019-02-11
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    相关资源
    最近更新 更多