HTML2PDF sayfa sonu

4 Cevap php

Ben app MySQL ve PHP kullanılarak geliştirilen genel olarak yaklaşık 10.000 kullanıcı verilerini içeren dinamik bir pdf dosyası, üretme sürecinde duyuyorum. Dinamik içerik ben zor FPDF () sınıfı ile işlemek buldum, o kadar ağır. Yani ob_get_clean kullanarak bir html dosyası () olarak benim çıkış php sayfasını dönüştürülür. Şimdi html dosyası başarıyla ve ayrıca pdf dosyası oluşturulur. Ama her kullanıcının veri sonra bir sayfa sonu bırakmak istiyorum, her kullanıcının veri yeni bir sayfadan başlar gerekir. Ben dinamik olarak oluşturulan HTML dosyasında, her şeyi ve etiketleri dışında, çünkü herhangi bir HTML etiketleri kullanabilirsiniz edemedim. Lütfen bana yardımcı olun, böylece ben her kullanıcının veri sonra pdf dosyasında bir sayfa sonu yapmak nasıl bir ... şimdiden teşekkürler :)

4 Cevap

ben sadece aynı sorunu yaşıyor sonra bu anladım. kullandıkları ayrıştırıcı sayfa-break-after etiketi destek YAPAR, ama Html2pdf çalışmıyor.

i bu html2pdf.class için aşağıdaki değişiklikleri yaparak çalışma olduğunu düşünüyorum:

hattı 4174 civarında, içeride ilk şey:

protected function _tag_close_P($param){

olmalıdır:

   if($this->parsingCss->value['page-break-after'] == "always")
        $this->_setNewPage();

hattı 2961 civarında, içeride ilk şey:

protected function _tag_close_DIV($param, $other='div'){

olmalıdır:

 if($this->parsingCss->value['page-break-after'] == "always")
        $this->_setNewPage();

(Hangi çalışmaz) macdabby çalışmaları üzerine oturtmakta. Ama onun sayesinde, fikir doğru.

Html2Pdf v4.03

Örneğin biz bir etiket DIV ayrıştırmak istiyorum:

html2pdf.class.php hattı 2948:

protected function _tag_close_DIV($param, $other='div')
{
    if ($this->parsingCss->value['page-break-after'] == "always")
       $this->_setNewPage();
    ...
}

parsingCss.class.php Hat 114:

//add a new style declaration
public function initStyle()
{
    ...
    $this->value['page-break-after'] = null;
}

Hattı 1024 anahtarı durumunda yeni bir işleyici ekleyin:

case 'page-break-after':
    $this->value[$nom] = $val;
    break;

O iş için ve daha sonra, html içerik mola öğesi içermelidir

 <div style="page-break-after:always; clear:both"></div>

Eklenti ele emin harf duyarlı tarzı değil, dikkat edin

Sen belki bazı css, örneğin kullanmak istiyorsanız:

h1 {page-break-before:always}

Html2pdf destekleri page etiketi:

protected function _tag_open_PAGE($param) {} 

hattı 2229 de. Siz özellikleri desteklenir orada ne görebilirsiniz. Örneğin aşağıdaki portre modunda peyzaj ve tek bir sayfa oluşturur:

<page orientation="l">
... some content ...
</page>
<page orientation="p">
... some content ...
</page>