PHP için en iyi PDF-API hangisi? [kapalı]


110

Aşağıdakilerden hangisi PHP için en iyi PDF API'sidir?


6
bu diğer soru artık StackOverflow'dan kaldırılmış görünüyor.
rineez

eski sorusunu biliyorum, ancak MDF'yi
dev.meghraj

Yanıtlar:


53

kişisel olarak, fpdf'nin gelişmiş ve korunan bir versiyonu olan tcpdf'i tercih ederim.


12
nedenleri belirtmediniz - en büyüklerinden biri, tcpdf'deki Unicode desteğidir ve fpdf'de tamamen eksiktir. tcpdf de halen aktif olarak korunmaktadır. ve aynı zamanda iyi bir OO mimarisine sahip. bilge kelime: fpdf temelde tcpdf tarafından değiştirilen eski bir şeydir.
zanlok

2
tcpdf, yazı tipi yerleştirme ve alt küme oluşturma gibi kritik özelliklerden yoksundur (Asya dilleri için önemlidir).
velcrow

2
tcpdf web sitesini yeni kontrol ettim ve yazı tipi alt kümeleme ve yerleştirmeyi destekliyor gibi görünüyor. SetFont yönteminin alt küme argümanına bakın tcpdf.org/fonts.php
Nerrve

1
urdu unicode yazı tipleriyle kullandığımda tcpdf bazı sorunlar yaşıyordu.
rineez

1
24 bin satır kodlu "düzgün OO" ile tek bir sınıfı ararsanız, yüksek olmalısınız. Gerçek OOP için yeniden düzenlenmiş FPDF sürümüme göz atın
Christoffer Bubach

39

Gönderen mpdf site: "mPDF UTF-8 kodlanmış HTML PDF dosyaları oluşturur bir PHP sınıfıdır Bu geliştirmeler bir dizi, FPDF ve HTML2FPDF dayanmaktadır.."

mpdf, dil işleme ve UTF-8 desteği için FPDF'den daha üstündür. CJK desteği için yalnızca yazı tipi yerleştirmeyi değil aynı zamanda yazı tipi alt kümelemeyi de destekler (bu nedenle CJK PDF'leriniz büyük boyutlu değildir). TCPDF ve FPDF, mpdf'nin UTF-8 ve Yazı tipi desteği hakkında hiçbir şeye sahip değildir. Hatta 5.0 sürümünden itibaren bazı açık kaynak yazı tipleriyle birlikte gelir.


31

Bu, her kütüphanenin en temel işlevlerinde performans alanında fPDF'nin tcPDF'ye karşı nasıl durduğunun hızlı bir incelemesidir.

HIZ TESTİ

FPDF kullanarak 2000 PDF dosyasını işlemek için 17,0366 saniye || TcPDF kullanarak 2000 PDF dosyasını işlemek için 79.5982 saniye

DOSYA BOYUTU KONTROLÜ (bayt cinsinden)

788 fPDF || 1.860 tcPDF

Kullanılan kod olabildiğince aynıydı ve metin içermeyen temiz bir PDF dosyası oluşturuyor. Bu aynı zamanda 22 Haziran 2011 itibariyle her kütüphanenin en son sürümünü kullanıyor.


5
TCPDF hızını büyük ölçüde artırabilecek bir dizi performans iyileştirmesi var (tek bir dosya oluştururken 1 dakikadan yaklaşık 0,5 saniyeye geçtim
Dan Smart

1
Bu "geliştirmeler" FPDF ile eşit derecede iyi çalışacak ve kıyaslamada gerçekten yardımcı olmayacak. TCPDF, yaklaşık 24.000 satır koddur, FPDF ise yaklaşık 2400 satır koddur.
Christoffer Bubach

@DanSmart bağlantısına güncelleyin: tcpdf.org/docs/performances
Albert

22

Html oluşturma açısından mpdf'yi tcpdf'den daha iyi buldum. Css stillerini çok daha iyi ayrıştırabilir ve orijinal html'ye çok benzeyen pdf oluşturabilir.

mpdf, border-radius ve gradyan gibi css şeylerini bile destekler.

Konu html'den pdf'ye geldiğinde mpdf'nin neden bu kadar az konuşulduğunu görünce şaşırdım.

Buradaki örneklere göz atın http://www.mpdf1.com/mpdf/index.php?page=Examples

Faturalar, makbuzlar ve basit baskılar vb. Tasarlamak için yararlı buldum. Ancak web sitesi mpdf'den oluşturulan pdf'lerin boyut olarak daha büyük olma eğiliminde olduğunu söylüyor.


2
Bağlantı koptu. Bu yeni bağlantı olabilir: mpdf1.com/mpdf/index.php?page=Örnekler
Stefan

Ağustos 2019 Güncellemesi: Bunu referans için kullanın mpdf.github.io
CodeJunkie

mpdf maalesef büyük tablo hücrelerini iyi idare edemiyor. İçerik bir sayfayı aşar aşmaz, küçülmeye başlar, bu da büyük tabloları olan herhangi bir proje için onu işe yaramaz hale getirir. Onun dışında; kullanımı kolay, performanslı ve iyi belgelenmiş.
zumek


11

Şahsen , çok hızlı olduğu için basit PDF sayfaları için dompdf kullanmayı tercih ediyorum . sadece bir HTML kaynağı beslersiniz ve gerekli sayfayı oluşturur.

ancak daha karmaşık tasarımlar için PHP için bir pecl olarak mevcut olan daha klasik pdflib'i tercih ederim . tasarımlar üzerinde daha fazla kontrole sahiptir ve mükemmel pikselli formlar gibi daha karmaşık tasarımlar yapmanızı sağlar.


Ancak dompdf kullanmanın bir dezavantajı, aynı anda veya bir döngüde birden fazla pdf oluşturmak istiyorsanız çalışmamasıdır.
hmjha

5

http://sourceforge.net/projects/html2ps/ , css ve 3c'ye uyumlu bir şekilde ihtiyacınız varsa en iyisidir.

Eğer sunucunuza yazılım yükleyebiliyorsanız, http://wkhtmltopdf.org/ kullanmanızı tavsiye ederim .

Ayrıca wkhtmltopdf kullanan bir drupal modülü de var :)

PHP, html'yi pdf, imho'ya dönüştürmek için birçok kaynağı kullanır, php bunu yapmak için doğru dil değildir (çok sayıda dönüştürme veya büyük dosyaların dönüştürülmesini bekliyorsanız)


Wkhtmltopdf için oy veriyorum, ancak özellikle harici bir dönüştürücü kullanmak gibi bir yöntem kullanırken PHP hız kaybından sorumlu tutulamaz. Asp.net'ten wkhtmltopdf veya prens kullanmanın PHP ile aynı derecede hızlı olacağını düşünürdüm (asp.net kullansam da). Elbette, PHP .net'in tüm süreç kontrolüne sahip değil, ancak bahse girerim çoğu proje için yeterince hızlı çalışıyor
Joel Peltonen

4

Zend Framework'ün Zend_Pdf'i gerçekten iyi. Çıktı kontrolü ve karmaşıklık açısından pdflib ile aynı seviyededir ve saf bir php çözümü olduğu için daha taşınabilirdir. Bununla birlikte, daha yavaştır ve pdflib'den daha fazla bellek kullanır. Pecl modülleri her zaman bir php çözümünden daha verimlidir.

DOMPdf , hızlı bir şekilde pdf oluşturmanın en kolay yoludur. Mike'ın dediği gibi, html ile besleyin ve bir pdf çıktısı alın. Kaputun altında, işleme motoru olarak r & ospdf veya pdflib kullanma seçeneğine sahiptir .


1
Zend PDF'de önemli (şeffaflık içeren PNG'ler yerleştirirseniz performans sorunları) [ framework.zend.com/issues/browse/ZF-3392] var . Ayrıca Zend PDF, 3. taraf PDF'lerdeki meta verileri değiştirmek için çok kötü bir araçtır çünkü tam PDF standardına yakın hiçbir şeyi işleyemez ve çöker. Ancak, bu özelliklere ihtiyacınız yoksa Zend PDF oldukça iyi çalışır ve iyi bir UTF-8 desteğine sahiptir.
chrishiestand

3

Ben şahsen XSL: FO’yu PHP’den oluşturuyorum ve bunu PDF’ye dönüştürmek için Apache FOP kullanıyorum . PHP'ye özgü bir çözüm değil, çok da verimli değil, ancak çok karmaşık düzenlerle PDF oluşturmanız gerekse bile iyi çalışıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.