生成页面到PDF时请求URI太长

时间:2015-11-18 08:29:41

标签: php html pdf

我有一个脚本生成PDF页面。

如果我的内容很小,我的脚本工作,但如果我的内容已满 我的剧本在Firebug节目中没有工作和注意 “ 414 Request-URI太长enter image description here 这是我的剧本

的index.html

<!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=utf-8" />
<title>Generate PDF</title>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript"> 
    function printMe()
    {
    var data = $("#pdf").html();
    $.ajax({
    url: "generatePDF.php?link="+encodeURIComponent(data),
    success: function() {
    window.location = 'generatePDF.php?link='+encodeURIComponent(data);
    }
    });
    }
</script> 
</head>

<body>
<div class="printable" id="pdf">
        <table cellspacing="0" width="100%" cellpadding="0">
      <tr>
        <td width="166">Menimbang</td>
        <td width="51">:</td>
        <td width="879"><ol type="a">
          <li> bahwa Surat Permohonan {nama}, Pekerjaan    {nama_pekerjaan}, Alamat  Dusun {nama_dusun}    {nama_desa} Kecamatan {nama_kecamatan} Kabupaten Aceh Tamiang, untuk memperoleh Izin Mendirikan    Bangunan ( IMB ) atas pengerjaan {jenis_bangunan}, diatas Persil    Tanah {status_tanah} , terletak di {terletak} telah memenuhi    persyaratan;</li>
          <li>bahwa berdasarkan pertimbangan sebagaimana pada huruf a, perlu    menetapkan dalam suatu Keputusan Bupati Aceh Tamiang .<br />
          </li>
        </ol></td>
      </tr>
      <tr>
        <td>Mengingat </td>
        <td>:</td>
        <td width="879"><ol>
          <li>Undang – Undang Nomor 4 Tahun    2002 tentang Pembentukan Kabupaten Aceh Barat Daya, Kabupaten Gayo Lues,    Kabupaten Aceh Jaya, Kabupaten Nagan Raya dan Kabupaten Aceh Tamiang di    Provinsi Nanggroe Aceh Darussalam;<br />
            </li>
          <li>Undang – Undang Nomor 28 Tahun 2002 tentang Bangunan Gedung;<br />
            </li>
          <li>Undang – Undang Nomor 32 Tahun 2004 tentang Pemerintahan Daerah    sebagaimana telah diubah untuk keduakalinya dengan Undang – Undang Nomor 12    Tahun 2008 tentang Perubahan Kedua Atas Undang – Undang Nomor 32 Tahun 2004    tentang Pemerintahan Daerah;<br />
            </li>
          <li>Undang – Undang Nomor 11 Tahun 2006 tentang Pemerintahan Aceh;<br />
            </li>
          <li>Qanun Kabupaten Aceh Tamiang Nomor 5 Tahun 2008 tentang Susunan    Organisasi dan Tata Kerja Lembaga Teknis Daerah Kabupaten Aceh Tamiang;<br />
            </li>
          <li>Qanun Kabupaten Aceh Tamiang Nomor 28 Tahun 2011 tentang Izin Mendirikan    Bangunan;<br />
            </li>
          <li> Qanun Kabupaten Aceh Tamiang Nomor 31 Tahun 2011 tentang Retribusi Izin    Mendirikan Bangunan;<br />
            </li>
          <li>Peraturan Bupati Aceh Tamiang Nomor 10 Tahun 2009 tentang Pelimpahan    Sebagian Kewenangan Bupati Kepada Camat Dalam Kabupaten Aceh Tamiang;<br />
            </li>
          <li>Keputusan Bupati Aceh Tamiang Nomor 118 tahun 2010 tentang Prosedur    Tetap Pelayanan Penerbitan Izin Mendrikan Bangunan (IMB) Tingkat Kecamatan    Dalam Kabupaten Aceh Tamiang.<br />
          </li>
        </ol></td>
      </tr>
      <tr>
        <td>Memperhatikan</td>
        <td>:</td>
        <td width="879">Surat Datok Penghulu {nama_datok}    Nomor : {no_rekom_datok} tanggal {tgl_rekom_datok} perihal Rekomendasi Izin    Mendirikan Bangunan.</td>
      </tr>
      <tr>
        <td colspan="3" align="center"><b>M E M U T U S K A N  :</b></td>
      </tr>
      <tr>
        <td>MENETAPKAN</td>
        <td>:</td>
        <td></td>
      </tr>
      <tr>
        <td>KESATU</td>
        <td>:</td>
        <td width="879">Memberikan Izin Mendirikan    Bangunan Kepada :</td>
      </tr>
      <tr>
        <td height="411"></td>
        <td></td>
        <td width="879"><table height="411" cellpadding="0" cellspacing="0">
          <col width="148" />
          <col width="64" span="2" />
          <tr>
            <td width="144">Nama</td>
            <td width="7">:</td>
            <td width="726">{nama}</td>
          </tr>
          <tr>
            <td>Pekerjaan</td>
            <td width="7">:</td>
            <td>{pekerjaan}</td>
          </tr>
          <tr>
            <td>Alamat</td>
            <td width="7">:</td>
            <td>{alamat}</td>
          </tr>
          <tr>
            <td>Jenis Bangunan</td>
            <td width="7">:</td>
            <td>{jenis_bangunan}</td>
          </tr>
          <tr>
            <td>Luas Bangunan</td>
            <td width="7">:</td>
            <td>{luas_bangunan}</td>
          </tr>
          <tr>
            <td>Garis Sempadan</td>
            <td width="7">:</td>
            <td>{garis_sepadan}</td>
          </tr>
          <tr>
            <td>Status Tanah</td>
            <td width="7">:</td>
            <td>{status_tanah}</td>
          </tr>
          <tr>
            <td>Terletak di</td>
            <td width="7">:</td>
            <td>{terletak}</td>
          </tr>
          <tr>
            <td>Peruntukan Bangunan </td>
            <td width="7">:</td>
            <td>{peruntukan_bgn}</td>
          </tr>
          <tr>
            <td></td>
            <td width="7"></td>
            <td></td>
          </tr>
          <tr>
            <td height="220" colspan="3"><p><br/>Dengan    Ketentuan dan syarat – syarat sebagai berikut :</p>
              <ol type="A">
                <li>Pelaksanaan Pembangunan harus sesuai dengan ukuran – ukuran dan  ketentuan – ketentuan sebagaimana tercantum    dalam peta situasi dan gambar bangunan yang telah disahkan;<br />
                  </li>
                <li>Pengerjaan bangunan harus sudah dimulai selambat – lambatnya 2 (dua)    bulan sejak tanggal {tanggal_mulai} dan harus selesai selambat – lambatnya 12    (dua belas) bulan terhitung sejak dimulainya pembangunan tersebut;<br />
                  </li>
                <li>Pengawas bangunan dapat memasuki dan memeriksa semua bangunan atau    persil bangunan setiap hari kerja antara pukul 07.30 s/d 18.30 WIB;</li>
                <li>Segala pekerjaan yang dapat menambah bangunan yang tidak sesuai dengan    gambar, tidak dibenarkan sebelum mendapat persetujuan dari Bupati Aceh    Tamiang melalui Camat {nama_kecamatan};<br />
                </li>
              </ol></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td>KEDUA</td>
        <td>:</td>
        <td width="879">Pelanggaran terhadap salah satu    dari ketentuan dan syarat – syarat sebagaimana diktum KESATU menyebabkan Izin    Mendirikan Bangunan ini batal.</td>
      </tr>
      <tr>
        <td>KETIGA</td>
        <td>:</td>
        <td width="879">Keputusan ini mulai berlaku pada    tanggal ditetapkan dengan ketentuan bahwa apabila terdapat kekeliruan dalam    penetapan Keputusan ini akan diadakan perbaikan sebagaimana mestinya.</td>
      </tr>
      <tr>
        <td></td>
        <td></td>
        <td width="879"></td>
      </tr>
      <tr>
        <td></td>
        <td></td>
        <td align="center" style="padding-left:30px;" width="879">Ditetapkan di {nama_kecamatan}  <br />
          pada tanggal   {tanggal_ttd}    M <br />
          {tanggal_ttd_hijriah} H<br />
          a.n. BUPATI ACEH TAMIANG <br />
          CAMAT {nama_kecamatan}<br />
          <br />
          <br />
          <br />
          {nama_camat}<br /></td>
      </tr>
      <tr>
        <td></td>
        <td></td>
        <td width="879"></td>
      </tr>
      <tr>
        <td colspan="3">SALINAN Keputusan ini disampaikan kepada :<br />
          1. Bupati Aceh Tamiang di Karang Baru;<br />
          2. Kepala DPPKA Kabupaten Aceh Tamiang di Karang Baru;<br />
          3. Kepala Kantor P2TSP Kabupaten Aceh Tamiang di Karang Baru;<br />
          4. Kepala Satpol PP dan WH Kabupaten Aceh Tamiang di Karang Baru;<br />
          5. Kapolsek {nama_kecamatan} di {nama_kecamatan};<br />
          6. Datok Penghulu {nama_datok} di {nama_dusun};<br />
          7. Sdr/i. {nama} (Pemilik) di    tempat.<br />
          <br /></td>
      </tr>
    </table>
</div>

        <center><button onClick="printMe()">Save As PDF</button></center>
</body>
</html>

generatePDF.php

<?php
$data = $_REQUEST['link'];
require_once('tcpdf/tcpdf.php');

// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
    require_once(dirname(__FILE__).'/lang/eng.php');
    $pdf->setLanguageArray($l);
}

// IMPORTANT: disable font subsetting to allow users editing the document
$pdf->setFontSubsetting(false);

// set font
$pdf->SetFont('helvetica', '', 10, '', false);

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

$html = $data;

// output the HTML content
$pdf->writeHTML($html, true, 0, true, 0);

// reset pointer to the last page
$pdf->lastPage();

$pdf->Output('profile.pdf', 'D');

?>

Tcpdf下载here

那么,如何阻止/停止 414 Request-URI太长

帮助我谢谢

2 个答案:

答案 0 :(得分:0)

如果向服务器发送GET请求,则可以使用的字符数有限制。见maximum length of HTTP GET request?

如果您阅读第二个答案,您将看到传递太多字节可能导致无应答(因为服务器由于客户端的限制而没有收到任何内容)或414答案因为服务器无法处理请求(因为它超过了最大长度)。

您应该使用POST请求而不是GET请求,或者减少查询字符串的长度。您可以将数据存储在服务器会话中,而不是一遍又一遍地传递所有数据。

答案 1 :(得分:0)

在Apache下,限制是可配置的值LimitRequestLine。如果要支持更长的请求URI,请将此值更改为大于默认值8190的值。