Изображение TCPDF не отображается при refre sh, когда я использую его с write html () - PullRequest
1 голос
/ 08 января 2020

Я создаю счет с TCPDF (мне нужен UTF-8). Когда я добавляю изображение с помощью функции WriteHTML(), изображение доступно только при первой загрузке. Когда я обновляю sh сайт, изображение удаляется с сервера. Когда я использую его без writeHTML(), все хорошо. В чем проблема? Я использую html, чтобы создать таблицу для продуктов в счете. Спасибо

<?php

$dodavatel = "adress";
$fakturacniAdresa = "address2";
$fakturacniICDIC = "ezh hfgj hfgjhj f";

$dtVystaveni = "22.03.2018";
$dtZdanPlneni = "22.03.2018";
$dtSplatnosti = "22.03.2018";

$bankovniUcet = "acount number";
$varSymbol = "65464";
$specSymbol = "45454";

$kUhrade = "4 USD";

$iban = "CZ511111111111";
$swift = "XXXXXXXX";


require_once('../lib/tcpdf/tcpdf.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->setFont('dejavusans');

$pdf->SetPrintHeader(false);
$pdf->SetPrintFooter(false);
// add a page
$pdf->AddPage();

$pdf->Image('logo.jpg');

$pdf->SetLineStyle(array('width' => 0, 'cap' => 'butt', 'join' => 'miter', 'dash' => 4, 'color' => array(255, 255, 255)));
$pdf->SetFontSize(7);
$pdf->setCellHeightRatio(1.5);


$pdf->Cell(80, 0, "Dodavatel:", 1);
$pdf->Cell(70, 0, "Fakturační adresa:", 1);
$pdf->Ln(5);
$pdf->MultiCell(80, 20, $dodavatel, 1, 'L', 0, 0);
$pdf->MultiCell(70, 20, $fakturacniAdresa, 1, 'L', 0, 0);
$pdf->MultiCell(39, 20, $fakturacniICDIC, 1, 'L', 0, 0);
$pdf->Ln();


$pdf->Cell(30, 0, "Datum vystavení:", 1);
$pdf->Cell(30, 0, $dtVystaveni, 1, 0, 'C');
$pdf->Cell(39, 0, "Datum zdan. plnění:", 1);
$pdf->Cell(30, 0, $dtZdanPlneni, 1, 0, 'C');
$pdf->Cell(30, 0, "Datum splatnosti:", 1);
$pdf->Cell(30, 0, $dtSplatnosti, 1, 0, 'C');
$pdf->Ln(15);

$pdf->SetFillColor(119, 207, 240);
$pdf->SetTextColor(255, 255, 255); //bila
$pdf->Cell(80, 7, "Bankovní účet", 1, 0, '', 1);
$pdf->Cell(30, 7, "Var. symbol", 1, 0, '', 1);
$pdf->Cell(45, 7, "Spec. symbol", 1, 0, '', 1);
$pdf->Cell(34, 7, "K úhradě", 1, 0, 'R', 1);
$pdf->Ln();

$pdf->Cell(80, 6, $bankovniUcet, 1, 0, '', 1);
$pdf->Cell(30, 6, $varSymbol, 1, 0, '', 1);
$pdf->Cell(45, 6, $specSymbol, 1, 0, '', 1);
$pdf->Cell(34, 6, $kUhrade, 1, 0, 'R', 1);
$pdf->Ln();

$pdf->Cell(20, 6, "IBAN:", 1, 0, '', 1);
$pdf->Cell(169, 6, $iban, 1, 0, '', 1);
$pdf->Ln();
$pdf->Cell(20, 6, "SWIFT:", 1, 0, '', 1);
$pdf->Cell(169, 6, $swift, 1, 0, '', 1);
$pdf->Ln();

$pdf->SetFillColor(255, 255, 255); //bila
$pdf->SetTextColor(0, 0, 0); //cerna
$pdf->Cell(189, 8, "Fakturujeme Vám za dodané zboží či služby:", 1);
$pdf->Ln(10);


$pdf->Ln();

$tbl = <<<EOD
<style>
td {
    border-bottom:0.1px solid gray;
        padding-top: 10px;
    }
</style>
<table>
<thead>
 <tr>
  <td width="70mm"><b>Označení dodávky</b></td>
  <td width="10mm" align="center"><b>Počet</b></td>
  <td width="13mm" align="center"><b>Měna</b></td>
  <td width="22mm" align="center"><b>DPH %</b></td>
  <td width="22mm" align="center"><b>Bez DPH</b></td>
  <td width="22mm" align="center"><b>DPH</b></td>
  <td width="30mm" align="right"><b>Celkem</b></td>
 </tr>
</thead>
EOD;

for ($i = 0; $i < 10; $i++)
{
    $tbl .= <<<EOD
 <tr>
  <td width="70mm">Something</td>
  <td width="10mm" align="center">11</td>
  <td width="13mm" align="center">USD</td>
  <td width="22mm" align="center">21</td>
  <td width="22mm" align="center">290</td>
  <td width="22mm" align="center">60,9</td>
  <td width="30mm" align="right" style="background-color:#e4e4e4;"><b>359</b></td>
 </tr>
EOD;
}

$tbl .= <<<EOD
</table>
EOD;

$pdf->writeHTML($tbl, true, false, false, false, '');


$pdf->Ln();
$pdf->Cell(110, 6, "Razítko a podpis:", 1);
$pdf->Cell(30, 6, "Základ", 1);
$pdf->Cell(20, 6, "Výše DPH", 1);
$pdf->Cell(29, 6, "Celkem", 1, 0, 'R', 1);
$pdf->Ln();


$pdf->Output('invoice.pdf', 'I');

1 Ответ

0 голосов
/ 08 января 2020

Это, вероятно, не правильный путь, но я решил это, комментируя в tcpdf. php файл unlink($file); (строка 7801 ). Я не знаю, почему это там. Если кто-нибудь найдет лучшее решение, я буду рад.

...