Using PHPJasper

Hi, I am trying to set up a project using phpjasper to create pdf documents.I loaded geekcom/phpjasper as composer package.In row custom action event I put this code:

// The first step works, I can compile hello_world.jrxml to hello_world.jasper.

$input = './vendor/geekcom/phpjasper/examples/hello_world.jasper';  
$output = './vendor/geekcom/phpjasper/examples';   
$options = [  'format' => ['pdf']     ];
$jasper = new \PHPJasper\PHPJasper;   
$jasper->process($input,$output,$options)->execute();

bet get this error:
\vendor\geekcom\phpjasper\src\PHPJasper.php(250): Your report has an error and couldn 't be processed!\ Try to output the command using the function output(); and run it manually in the console.I did use the output() function in the console with this result:
[3456:1206/100718.163:ERROR:display_layout.cc(562)] PlacementList must be sorted by first 8 bits of display_idHow can I proceed to resolve this issue? thanks in advance

i had same error , but i create a function an work, try this.

// PHP JASPERTREPORT
require __DIR__ . '/vendor/autoload.php';
use PHPJasper\PHPJasper;

function generateReport(    $param  , $nombre ) {

	$filename = $nombre.'_'.time();
	$ext = '.pdf';
	$input = __DIR__ . '/reports/source/'.$nombre.'.jasper';
	$output = __DIR__ . '/reports/'.$filename;
	$options = [
		'format' => ['pdf'],
		'locale' => 'en',
		'params' =>  $param  ,
		'db_connection' => [
			'driver' 	=> 'mysql',
			'username' 	=> USER,
			'password' 	=> PASS,
			'host' 		=> HOST,
			'database'	=> DB,
			'port' 		=> PORT
		]
	];

	$jasper = new PHPJasper;
	$jasper->process(
		$input,
		$output,
		$options
	)->execute();

//Define header information to download
	header('Content-Description: File Transfer');
	header('Content-Type: application/octet-stream');
	header("Cache-Control: no-cache, must-revalidate");
	header("Expires: 0");
	header('Content-Disposition: attachment; filename="'.basename($output.$ext).'"');
	header('Content-Length: ' . filesize($output.$ext));
	header('Pragma: public');

	readfile($output.$ext);
	unlink($output.$ext);

	flush();

}

and call it to generate dynamically

<?php
$parameters = [ "Param1" => "OLAYAHERRERA" /*, "Param2" => "Valor 2" */  ];
generateReport(  $parameters, 'usuarios' );
?>

i passed the .jasper directly…sorry for my english

same error with this code:

// Row Custom Action event
function Row_CustomAction($action, $row)
{

    if ($action == "afdruk") 
    {
        
        
        function generateReport(    $param  , $nombre ) 
        {
         // require './vendor/autoload.php';
          //  use PHPJasper\PHPJasper;
            $ext = '.pdf';
           $input = './vendor/geekcom/phpjasper/examples/hello_world.jasper';  
           $output = './vendor/geekcom/phpjasper/examples';   
           $options = [  'format' => ['pdf']     ];



           $jasper = new \PHPJasper\PHPJasper;   
           $jasper->process($input,$output,$options)->execute();
          // $jasper->compile($input)->execute();
           //Define header information to download
	        header('Content-Description: File Transfer');
	        header('Content-Type: application/octet-stream');
	        header("Cache-Control: no-cache, must-revalidate");
	        header("Expires: 0");
	        header('Content-Disposition: attachment; filename="'.basename($output.$ext).'"');
	        header('Content-Length: ' . filesize($output.$ext));
	        header('Pragma: public');

	        readfile($output.$ext);
	        unlink($output.$ext);

	        flush(); 
        }
        $parameters = [ "Param1" => "OLAYAHERRERA" /*, "Param2" => "Valor 2" */  ];
        generateReport(  $parameters, 'usuarios' );
    }