PDF vs HTML Programlı PHP ile PDF oluşturma

6 Cevap php

Ben güzel üstbilgi / altbilgi ile bazı PDF faturalar ve PDF çizelgelerini oluşturmak için gereken bir PHP uygulama var. Bazı Stackoverflow kullanıcılar, PDF belgeleri oluşturmak için TCPDF kullanmanızı öneririz. Benim araştırma, ben üreten PDF'lere iki yaklaşım keşfetti:

1) Programlı PDF biçimlendirme şöyle:

    $tcpdf->SetFillColor(255, 0, 0);
    $tcpdf->SetTextColor(255);
    $tcpdf->SetDrawColor(128, 0, 0);
    $tcpdf->SetLineWidth(0.3);
    $tcpdf->SetFont('', 'B');

2) dönüştürme HTML PDF

Nasıl ben kullanmalıyım yaklaşım hangi karar veriyorsunuz?

6 Cevap

Ben sınıflamasına göre programlı bir yöntem olan, Zend_Pdf tavsiye ederim.

Bir HTML soyutlama güzel ama ben tam bir geometri tabanlı çizim API tam güç ve kontrol sahibi inanmıyorum. Kutudan UTF-8 destekler ve PDF 'dönüştürmek' HTML bir yoksul adamın ayrıştırıcı kullanmak yok FPDF gibi kütüphanelerin karşı dikkatli olun.

Lütfen uygulama ile ilgili olarak, ben şablonu fatura üreten bir sistem üretti. Benim kullanıcıların Zend_Pdf tarafından çıkarılan bir PDF şablon, yükleyebilirsiniz. Bu şablon, daha sonra kolay özelleştirme sağlayan, oluşturulan faturanın her sayfa için kullanılır.

Benim seyirci ağırlıklı olarak bu şablonları üretme yeteneğine sahip grafik tasarımcıları, bu nedenle burada uygun çözüm olduğunu unutmayın. Kitlenizi HTML 'dönüştürme', HTML ile sadece tanıdık varsa PDF en iyi yolu olabilir.

Bir programcı olmak zorunda kalmadan - en azından - Ben her zaman son kullanıcı araçlarını kullanarak veya düzenlenebilir dinamik ama şablonlara dayalı PDF oluşturma öneririz. Senin durumunda, muhtemelen HTML olacaktır. Benim için ideal çözüm, bir ofis şablonu almak programlı değerleri ile doldurun ve teknik olarak mümkün olduğunda PDF, çıktı onu etmektir. I tbsOOO kullanarak PHP bölümünü doldurarak ofis şablonu yapmak ve oldukça iyi çalışıyor.

Uygun gördükleri kullanıcı şablonu tasarlayabilirsiniz ve tasarım ihtiyaçlarını değişiyor zaman ihtiyaç olmayacaktır: sıfırdan belge üreten üzerinde bir şablon tabanlı bir yaklaşım kullanmak için ana nedeni. (Ve will bir gün değiştirilmesi gerekir.) Eklenen veri bir şekilde değiştirilebilir veya uzatılabilir ihtiyacı Sadece zaman, programcı devreye giriyor. Bu senin sırtından büyük bir iş yükü olduğunu.

Merhaba iki seçeneğiniz vardır. Normal bir html belge ve css ile stil onu belgenizi tasarım sağlar, hangi dompdf kullanabilirsiniz. Eğer pdf içine bu belgeyi açabilirsiniz. Benim deneyimleri iyiydi. Ben Zend_View kullanarak normal bir html sayfası oluşturmak ve pdf dönüştürelim. Eğer son derece esnek bir şablon var Bu şekilde, size html üreten görünümünde ekran kararların her türlü yapabilirsiniz beacuse.

list of css-compatability bkz.

Alternatively Eğer livedocx . This also allows for a template based approach, but more rigidly and html-less. A integration for Zend Framework yolda kullanabilirsiniz.

Ben her üç yaklaşım ile yeterli deneyimi vardı:

  1. Programlı (o FPDF türetilmiş olmasına rağmen, kutunun dışında UTF-8 desteklemiyor ki,) TCPDF kullanarak belge oluşturma. Ben Zend Framework büyük bir hayranı değilim rağmen, Zend_Pdf bu şekilde kullanılmak üzere ayarlanmış onun özelliği henüz yeterince zengin değildir belirtmek gerekmez.

  2. Bir grafik tasarımcı bir şablon oluşturmak sahip Zend_Pdf kullanarak o kadar yükleme ve sonra ek içerik eklemeye. Zend_Pdf bu hataların yükleri attı - (1.10.2 - 1.10.7) yeni bir sayfa örneğini ve belgeye eklemek için çalışırken HARİÇ, bu durumda oldukça iyi çalıştı.

  3. Htmldoc kullanarak PDF HTML dönüştürme. Bu yaklaşım kötü emilir, ama htmldoc sınırlamalar kaynaklanmaktadır.

Ben PDF dönüştürme HTML TCPDF kullanmadıysanız, ancak kod genel kalitesi bakılırsa ben oldukça iyi bir iş yapacağını tahmin ediyorum. (Ben gerçekten RTL karakter setleri grafik açısından zengin belgeleri render, Çin, vb, ve sorunsuz yürüttü dahil, sınırları TCPDF itti ettik). Programlı bunu yapmak için karar yaparsanız bir grafik tasarımcı güzel bir şablon var ve sadece Zend_Pdf ile o kadar yükleme ve makul bir seçim Oradan değiştirerek, üstüne bir şeyler eklemek niyetinde olmadığını Yani, ben her ne kadar (TCPDF kullanarak tavsiye ederim ama Hala) kelime sarma ve diğer bazı temel şeyler uygulanması bitireceğiz.

Ben de PDF HTML dönüştürme tavsiye:

  • Bu gerçekleştirmek için daha kolaydır
  • Daha sonra düzen / tasarımını değiştirmek daha kolaydır
  • Muhtemelen sayfanın bazı html yeniden verebilecek

Bir keresinde kullanılan html2ps ve daha sonra pdf postscript dönüştürülen bir web sitesi için bir PDF nesil yarattığı zaman.

Ben programatik biçimlendirme öneririz.

. Net dünyada ben pdf çeviriciler html ile belirgin olumsuz deneyimler yaşadım. Onlar 2 kategoriye ayrılır gibi görünüyor:

Olanları html ve pdf çevirmek için girişimde 'ayrıştırma'. Bunlar genellikle stil sayfaları ve tablo tabanlı düzeni için bir şey ama destek gibi bazı gerçekten temel özellikleri eksikliği.

Olanlar bir görüntü için html 'baskı' ve bir pdf içine sopa. Bu aslında iyi bir seyir belge üretebilir. Bunlar diş sorunları ve düşük performansa neden olur kütüphaneye bir tarayıcı bağlayarak çalışmak gibi görünüyor.

Ben direkt pdf apis ile vasat deneyimler yaşadım ama php bu cephede bazı önemli ölçüde daha iyi kütüphaneler gibi görünüyor.