PDF-файл создан, но не может быть открыт

Со своей страницы PHP я хочу создать / запустить BIRT report :

...
new runReport("rptPrixParDaty.rptdesign", array(), "prixpardaty");

Отчет основан на view,

Код runReport, который находится внутри / birt /:

<?php

include("../config.inc.php");
require_once("java/Java.inc");

class runReport {

function runReport($report, $param, $output) {

header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=".$output.".pdf");

$report_name = RP_REPORT . $report;
$ctx = java_context()->getServletContext();
$birtReportEngine = java("org.eclipse.birt.php.birtengine.BirtEngine")->getBirtEngine($ctx);
java_context()->onShutdown(java("org.eclipse.birt.php.birtengine.BirtEngine")->getShutdownHook());

try{

$connect = new Java("connectDb");

$report = $birtReportEngine->openReportDesign($report_name);
$task = $birtReportEngine->createRunAndRenderTask($report);

foreach ($param as $key => $value) {
$task->setParameterValue($key, new java("java.lang.String",$value));
}

$taskOptions = new java("org.eclipse.birt.report.engine.api.PDFRenderOption");
$outputStream = new java("java.io.ByteArrayOutputStream");
$taskOptions->setOutputStream($outputStream);
$taskOptions->setOutputFormat("pdf");

$task->setRenderOption( $taskOptions );
$task->getAppContext()->put("OdaJDBCDriverPassInConnection", $connect->getConnection(BDD_SERVER, BDD_PORT, BDD_NAME, BDD_USER, BDD_PWD));
$task->run();
$task->close();


} catch (JavaException $e) {

echo $e; //"Error Calling BIRT";
}

echo java_values($outputStream->toByteArray());

}
}
?>

config.inc.php файл содержит константы, он находится в root каталог веб-проекта. Файл журнала, созданный веб-приложением, содержит следующую строку предупреждения: PHP Warning: include(../config.inc.php): failed to open stream: No such file or directory in D:\wamp\www\bazarmada\birt\runReport.php on line 3 Хотя файл config.inc.php находится в корневом каталоге, а файл runReport.php находится в каталоге / birt!

Во время выполнения загрузка выполняется, и размер файла PDF составляет 3 КБ, но pdf файл не может быть открыт! Так что не так?

0

Решение

Это не вопрос BIRT, а вопрос PHP.

Вероятно, «PDF» в результате содержит отслеживание исключений, страницу ошибки HTML или что-то подобное.

Что вы должны сделать сейчас:

  • Исправьте ошибку импорта PHP! Хотя я не знаю PHP, я думаю, что файл config.inc.php должен быть помещен в D: \ wamp \ www \ bazarmada!?

  • Сохраните ответ в локальном файле и посмотрите на этот файл с помощью шестнадцатеричного или текстового редактора. Это должно помочь вам узнать, что еще не так в вашем скрипте.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector