Проблема создания PHP/HTML, PDF


у Меня есть генератор сертификатов осуществляется с HTML/PHP

Использовал DOMPDF, но он не присваивает переменной $html=' <codigo todo> '; он дает ошибку в строке IF's после того, как я присваиваю переменной. Равно показывает в документации, и некоторые учебники в интернете, мой дает ошибку:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /usr/local/www/apache24/data/приложения/declaracao2/сертификат/105/сертификат.php on line 265

в Этой строке содержит: IF = if ($obj->id=='81'){?>

Использовал buffer ob_start; он работает, но он находится далеко за пределами страницы, нужно, чтобы настроить его. Но есть некоторые сертификаты, которые появляются, сообщение:

Fatal error: Call to a member function get_cellmap() on a non-object in /usr/local/www/apache24/data/aplicacoes/declaracao2/certificado/100/dompdf/include/table_cell_frame_reflower.cls.php on line 30

Уже пытался MPDF, хотя он только делает изображение фона и поля данных сертификатов не отображаются.

что делать?

Код certificado.php:

require_once("dompdf/dompdf_config.inc.php");
ob_start();
if ($obj->cpf == $doc) //isset($certificado_numero) and ($certificado_numero<>''))
{
 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<link href="unidade.css" rel="stylesheet" type="text/css">
<style type="text/css">

}



</style>
</head>

<body>

<table width="1070" border="0" cellpadding="1" cellspacing="1"  bgcolor="#FFFFFF">
  <tr>
    <div class="anterior">
    <td width="1068" style="border-bottom: 0px solid #666666;" align="center">
<img src="<?= $imagem; ?>" width="1070" height="698" /></td>
    </div>
  </tr>
 </table>

<div id='posiciona1'><?= utf8_decode($participante)?></div>
<div id='posiciona2'><b><?=$obj->num_certificado?></b></div>
<div id='posiciona4'><b><?= $horario; ?></b></div>
<div id='posiciona5'><? echo $observacoes."<p>"; ?></div>


</body>

<?

}
else
{
?>

<script type="text/javascript">
   alert( 'Este Certificado ainda n�o foi registrado. Aguarde!');
   self.close();
  </script>

<?
}
?>
</html>
<?php
$html = ob_get_contents();
ob_end_clean();
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper('a4', 'landscape');
$dompdf->render();
$dompdf->stream("newfile.pdf");
?>
Author: Maniero, 2014-09-30

2 answers

, Как говорил Ганнибал, давайте по частям.

Код

Ваш код был неправильный подход проблемы. Молится, что вы пытаетесь вызвать HTML-и после rendenizar его DOMPDF.

Вы должны поместить все содержимое HTML внутри avariável, например:

$htmlPagina = "
<table width="1070" border="0" cellpadding="1" cellspacing="1"  bgcolor="#FFFFFF">
  <tr>
    <div class="anterior">
    <td width="1068" style="border-bottom: 0px solid #666666;" align="center">
<img src="<?= $imagem; ?>" width="1070" height="698" /></td>
    </div>
  </tr>
 </table>

<div id='posiciona1'><?= utf8_decode($participante)?></div>
<div id='posiciona2'><b><?=$obj->num_certificado?></b></div>
<div id='posiciona4'><b><?= $horario; ?></b></div>
<div id='posiciona5'><? echo $observacoes."<p>"; ?></div>"

Подчеркнуть, что ваш код - <?= utf8_decode($participante)?> возвращает ошибку, или, вернее, ничего не возвращает иногда. Для решения этого, напишите следующим образом: <? echo utf8_decode($participante)?>.

Я Должен определить для вас, что переменные, присутствующие в HTML должны быть saneadas (заполнены), прежде чем передать в инструкции DOMPDF, означает, что вы должны тебе их хранение и созданы ранее.

Код DOMPDF

Я Не буду останавливаться на этом вопросе потому, что его применение достаточно просто. Для rendenizar и создать файл Сертификата, используйте испугался тогда:

// Incluímos a biblioteca DOMPDF
require_once("dompdf/dompdf_config.inc.php");

// Instanciamos a classe
$dompdf = new DOMPDF();

// Passamos o conteúdo que será convertido para PDF
$dompdf->load_html($html);

// Definimos o tamanho do papel e
// sua orientação (retrato ou paisagem)
$dompdf->set_paper('A4','portrait');

// O arquivo é convertido
$dompdf->render();

// Salvo no diretório temporário do sistema
// e exibido para o usuário
$dompdf->stream("nome-do-arquivo.pdf");

JS

, Вы можете сделать HTML-страницу с вашим JS предварительном порядке на призыв PHP.

Для этого вы можете сделать сценария js позволяет это, или нет, открытие файла и его построения.


Совет: Вы можете назвать переменные PHP, как правило, если делаете query; и также может вызвать HTML-файл внешней форме, то есть написать HTML на отдельной странице и иметь PHP прочитать файл и дать fopen в нем.

, Если бить, то сомнений в том, что касается именования, или отступ, см документации DOMPDF в Google Doc

 2
Author: Fred Dutra, 2014-09-30 14:28:38

Я использовал в моих последних проектов класса pdfcrowd, и у меня не было проблем.

Installation

Copy - pdfcrowd.php - to your source directory.

Example

Server side PDF generation. This code converts a web page and send the generated PDF to the browser (don't forget to use your "username" and "apikey"):

require 'pdfcrowd.php';

try
{   
    // create an API client instance
    $client = new Pdfcrowd("username", "apikey");

    // convert a web page and store the generated PDF into a $pdf variable
    $pdf = $client->convertURI('http://example.com/');

    // set HTTP response headers
    header("Content-Type: application/pdf");
    header("Cache-Control: no-cache");
    header("Accept-Ranges: none");
    header("Content-Disposition: attachment; filename=\"created.pdf\"");

    // send the generated PDF 
    echo $pdf;
}
catch(PdfcrowdException $e)
{
    echo "Pdfcrowd Error: " . $e->getMessage();
}


// Other basic operations:
// convert an HTML string
$html = "<html><body>In-memory HTML.</body></html>";
$pdf = $client->convertHtml($html);

// convert an HTML file
$pdf = $client->convertFile('/path/to/local/file.html');

И В нем может быть найдено и скачали здесь

 0
Author: tiaguinhow, 2015-03-17 14:19:11