У меня есть интересная проблема. Я пробовал с Zend_Pdf
. Раньше он работал довольно хорошо. Но теперь, начиная с 2 дней, он больше не работает. После запуска моего действия я открываю или сохраняю вопрос браузера. Если я выберу open, я получаю сообщение об ошибке, которое говорит: «невозможно открыть, потому что файл поврежден:Ошибки Zend_pdf при открытии в браузере
Я удалил все данные из своего контроллера и попробовал с простой версией, но я получаю ту же ошибку. действие:
public function indexAction()
{
$pdf = new Zend_Pdf();
$pdf->properties['Title']='testtitle';
//echo $pdf->properties['Title'] . "\n";
$pdf->pages = array_reverse($pdf->pages);
$style = new Zend_Pdf_Style();
$style->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 36);
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
$pdf->pages[1] = ($page = $pdf->newPage('A4'));
$page=$pdf->pages[1];
$page->setFont($font, 18);
$page->drawText("testcaption", 100, 100);
header("Content-Type: application/pdf");
header("Content-Disposition: inline; filename=test.pdf");
//header("Cache-Control: no-cache, must-revalidate");
echo $pdf->render();
// $fileName="./pdfs/test.pdf";
// $pdf->save($fileName);
}
Я удалил все, потому что я думал, что мой код был в конечном счете не полностью действительным, но теперь у меня есть только тест left.I нужно заметить, что есть обновление Firefox, поэтому я попытался с IE, но такая же проблема. Возможно, есть основная ошибка? Еще одно замечание: в этом случае я работаю только с действием контроллера, у меня нет какого-либо viewcript. Мне нужен он, потому что контроллер строит pdf? ld быть внутри? Кто-нибудь знает ответ или какое-то обходное решение?
новый phänomenon: Я изменил код (последние отчеты):
$fileName="./pdfs/test.pdf";
$pdf->save($fileName);
echo $pdf->render();
я получаю то же сообщение в своем браузере. Теперь у меня есть копия на моем веб-сервере, если я открою этот файл с помощью doubleclick, он открывается без каких-либо ошибок.
Я попытался выбрать «сохранить под» в своем браузере и выбрать папку вне моего веб-сервера. Этот файл я не могу открыть, теперь я полностью смущен.
Кто-нибудь может помочь?
Обновление:
Я пробовал другие возможности. Очень интересно, что у меня есть 2 разных pdf-документа. Тот, который я сохраняю (с сохранением метода) на моем сервере, открывается отлично, все в порядке. Если я заставляю другую загрузку в своем браузере и открываю документ из папки для загрузки.
Я получаю документ, в котором есть мой html-макет внутри, а также дата в формате pdf. Это действительно начинается, как следует:
<base href="/mosaik/public/" />
после этого мои DIV области и в конце есть мои PDF области.
Это тот же самый эффект, но при попытке я изменил код, я создал класс, который обеспечивает PDF и у меня есть представление, где я поставил свой заголовок:
<?php
$response = Zend_Controller_Front::getInstance()->getResponse();
//$response = new Zend_Controller_Response_Http();
$response->setHeader('Content-Disposition', 'attachment; fileName=schwesternliste.pdf');
$response->setHeader('Content-type', 'application/pdf');
$pdf=new Application_Model_Pdf_Schwestern();
$pdf->load();
$pdf->fillData();
echo $pdf->render();
?>
Это должно быть что-то с заголовки, кто-то знает решение?