Skip to content

Your report has an error and couldn 't be processed! #120

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
PauloCSto opened this issue Oct 22, 2018 · 10 comments
Closed

Your report has an error and couldn 't be processed! #120

PauloCSto opened this issue Oct 22, 2018 · 10 comments

Comments

@PauloCSto
Copy link

Estou começando a estudar o phpjasper, fiz os testes conforme as instruções, estava dando tudo certo, mas quando comecei testar a conexão com meu banco de dados (mysql) tive um problema que ainda não consegui resolver e passou a dar o seguinte erro:

"Fatal error: Uncaught PHPJasper\Exception\ErrorCommandExecutable: 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. in C:\xampp\htdocs\jasper\vendor\geekcom\phpjasper\src\PHPJasper.php:219 Stack trace: #0 C:\xampp\htdocs\jasper\teste2.php(30): PHPJasper\PHPJasper->execute() #1 {main} thrown in C:\xampp\htdocs\jasper\vendor\geekcom\phpjasper\src\PHPJasper.php on line 219"

meu código :
``

`<?php
require DIR . '/vendor/autoload.php';

use PHPJasper\PHPJasper;

$input = DIR . '/vendor/geekcom/phpjasper/examples/convenio.jasper';
$output = DIR . '/vendor/geekcom/phpjasper/examples';

$options = [
'format' => ['pdf'],
'locale' => 'pt_BR',
'params' => [],
'db_connection' => [
'driver' => 'mysql',
'username' => 'root',
'password' => '',
'host' => 'localhost',
'database' => 'labordb',
'port' => '3306'
]
];

$jasper = new PHPJasper;

$jasper->process($input,$output,$options)->execute();
`

Mudei a linha para:

echo $jasper->process($input,$output,$options)->output();

apareceu a seguinte mensagem:

jasperstarter --locale pt_BR process "C:\xampp\htdocs\jasper/vendor/geekcom/phpjasper/examples/convenio.jasper" -o "C:\xampp\htdocs\jasper/vendor/geekcom/phpjasper/examples" -f pdf -t mysql -u root -p -H localhost -n labordb --db-port 3306

@PauloCSto
Copy link
Author

Se alguém ja conseguiu resolver e puder me ajudar eu agradeço.

@PauloCSto
Copy link
Author

Se alguém pude me ajudar eu agradeço.

@PauloCSto PauloCSto reopened this Oct 22, 2018
@geekcom
Copy link
Member

geekcom commented Oct 23, 2018

Ola @PauloCSto obrigado por apoiar a lib, faça o seguinte:

  1. Abra seu terminal ou cmd
  2. Navegue até a pasta .../bin/jasperstarter/bin que é onde fica o executável da lib
  3. Cole o resultado aqui para ajudarmos você

Comando a ser executado:

jasperstarter --locale pt_BR process "C:\xampp\htdocs\jasper/vendor/geekcom/phpjasper/examples/convenio.jasper" -o "C:\xampp\htdocs\jasper/vendor/geekcom/phpjasper/examples" -f pdf -t mysql -u root -p -H localhost -n labordb --db-port 3306

@PauloCSto
Copy link
Author

PauloCSto commented Oct 23, 2018 via email

@geekcom
Copy link
Member

geekcom commented Oct 23, 2018

@PauloCSto confira novamente o seu arquivo principal, de acordo com o erro o problema é que você está tentando executar o comando "porcess", o correto é "process"

@PauloCSto
Copy link
Author

PauloCSto commented Oct 23, 2018 via email

@PauloCSto
Copy link
Author

PauloCSto commented Oct 23, 2018 via email

@PauloCSto
Copy link
Author

Graças à sua ajuda, conseguimos resolver:

retirei o parâmetro 'password', pois não coloquei senha para acessar o banco;
depois seguindo a sua orientação, veriiquei que a imagem .png não estava na pasta correta.

Deu certo.

meu prôximo passo agora é fazer testes em um dominio no servidor da web.

Muito Obrigado.

@PauloCSto
Copy link
Author

ficou assim 👍

require DIR . '/vendor/autoload.php';

use PHPJasper\PHPJasper;

$input = DIR . '/vendor/geekcom/phpjasper/examples/convenio.jasper';
$output = DIR . '/vendor/geekcom/phpjasper/examples';

$options = [
'format' => ['pdf'],
'locale' => 'pt_BR',
'params' => [],
'db_connection' => [
'driver' => 'mysql',
'username' => 'root',
'host' => 'localhost',
'database' => 'labordb',
'port' => '3306'
]
];

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

$file = $output .'/convenio.pdf';
$filename = 'Faturamento';

header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Accept-Ranges: bytes');

@readfile($file);

@geekcom
Copy link
Member

geekcom commented Oct 23, 2018

Se verificar algum problema por favor abra outra issue, que bom que está rodando como esperado, abs.

@geekcom geekcom closed this as completed Oct 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants