PHP PDF HTML tabloları - DOMPDF ne html2ps/pdf ne çalışıyor

2 Cevap php

Uzun süre şimdi ben PHP büyük tabloları içeren HTML sayfaları dönüştürmek çalışıyorum. Bu CSS ile tarz ve uzun birkaç sayfa olabilir.

Ben ilk dompdf çalıştı. Bir belge birden fazla sayfası kadar, harika çalışıyor. Ben iş buldum düzeltmelerin hiçbiri. Bu hataları üzerinden veya ikinci sayfada bile kısmen olacaktır herhangi bir eleman ya sayfanın 1 içeriği üzerinde toplu alır. Ben son sürümü ve SVN bugün teslim kopya hem de denedim.

Ben de html2ps/pdf denedim, ve dizin tam olarak yazılabilir olsa bile, bana önbellek dizinine yazma hataları "izin engellendi" verir. Sistem gereksinimleri test script geçer. Sunucu IIS (seçimim değil heh) altında PHP 5 çalışıyor.

Ya bu işe ikna olmak, ya da bunu bir kütüphane var miyim?

Demo / test komut gelen hatalar:

Warning: file_put_contents(C:\Inetpub\wwwroot\JM\pdf\html2ps\cache/7d888258e9745b3716532ea81342daaf.css.compiled) [function.file-put-contents]: failed to open stream: Permission denied in C:\Inetpub\wwwroot\JM\pdf\html2ps\css.cache.class.php on line 33

Warning: fopen(C:\Inetpub\wwwroot\JM\pdf\html2ps\cache/unicode.lb.classes.dat) [function.fopen]: failed to open stream: Permission denied in C:\Inetpub\wwwroot\JM\pdf\html2ps\inline.content.builder.php on line 991

Warning: flock() expects parameter 1 to be resource, boolean given in C:\Inetpub\wwwroot\JM\pdf\html2ps\inline.content.builder.php on line 992

Warning: fwrite(): supplied argument is not a valid stream resource in C:\Inetpub\wwwroot\JM\pdf\html2ps\inline.content.builder.php on line 1011 (bu hata birkaç bin defa tekrarlar)

Warning: fopen(C:\Inetpub\wwwroot\JM\pdf\html2ps\cache/times.z) [function.fopen]: failed to open stream: Permission denied in C:\Inetpub\wwwroot\JM\pdf\html2ps\pdf.fpdf.makefont.php on line 318

Can't write to file C:\Inetpub\wwwroot\JM\pdf\html2ps\cache/times.z

2 Cevap

IIS altında html2pdf ile benzer bir sorun tartışıldı here.

Çözüm oldukça basit, ama garip oldu. Bu işe yaramazsa, bir tam hata mesajı ve / veya kod biraz sana yardım etmek için yardımcı olacaktır.

Ben şahsen komut satırı uygulamaları yerine herhangi bir PHP kütüphaneleri öneririz.

Reasons :

  1. PHP kütüphaneleri dönüştürme işlemi için daha fazla zaman ve bellek (cache) gerekir.

  2. Onlar aksi takdirde hata veya uyarıları atmak, sadece iyi biçimlendirilmiş HTML sayfaları gerekir.

  3. Harici stil sayfaları için desteği yok.

Command Line Tool:

Eğer bir Linux sunucu üzerinde komut çalıştırırsanız o zaman komut satırı araçları öneririz.

Reasons :

  1. Bunlar son derece hızlı PHP kütüphaneleri ile karşılaştırılır.

  2. Destek CSS.

  3. Olmayan iyi biçimlendirilmiş HTML kabul.

Which command line tool to use?

  1. wkHtmlToPdf
  2. HtmlToPdf
  3. Html2pdf

Daha fazla bilgi için Converting HTML to PDF (not PDF to HTML) using PHP bakın.