Converti HTML + CSS in PDF [chiuso]


1628

Ho un documento HTML (non XHTML) che rende bene in Firefox 3 e IE 7. Utilizza CSS abbastanza semplice per modellarlo e rende bene in HTML.

Sto cercando un modo per convertirlo in PDF. Ho provato:

  • DOMPDF : ha avuto enormi problemi con le tabelle. Ho preso in considerazione le mie tabelle nidificate di grandi dimensioni e mi ha aiutato (prima stava solo consumando fino a 128 M di memoria e poi moriva - questo è il mio limite di memoria in php.ini) ma crea un casino completo di tabelle e non sembra ottenere immagini. Le tabelle erano solo cose di base con alcuni stili di bordo per aggiungere alcune linee in vari punti;
  • HTML2PDF e HTML2PS : in realtà ho avuto più fortuna con questo. Ha reso alcune delle immagini (tutte le immagini sono URL di Google Chart) e la formattazione della tabella era molto migliore, ma sembrava avere qualche problema di complessità che non avevo ancora capito e continuavo a morire con errori node_type () sconosciuti. Non sono sicuro di dove andare da qui; e
  • Htmldoc : questo sembra funzionare bene sull'HTML di base ma non ha quasi alcun supporto per i CSS, quindi devi fare tutto in HTML (non avevo realizzato che fosse ancora 2001 in Htmldoc-land ...) quindi è inutile per me.

Ho provato un'app di Windows chiamata Html2Pdf Pilot che in realtà ha fatto un lavoro abbastanza decente ma ho bisogno di qualcosa che gira almeno su Linux e idealmente su richiesta via PHP sul server Web.

Cosa mi manca o come posso risolvere questo problema?


9
Html2Pdf utilizza effettivamente un'istanza incorporata di IE per eseguire il rendering della pagina, quindi la converte in PDF, probabilmente attraverso il meccanismo di stampa di IE.
Joel Mueller,

55
dal momento che è una domanda del 2008, dompdf è molto più maturo ora. ;-)
Hendra Uzia il

5
dompdf ora supporta CSS 2.1 e in grado di affrontare @import, @mediae @screenle regole, e caricherà fogli di stile esterni. Inoltre viene fornito in bundle con tutto il necessario per farlo funzionare, anche se ci sono cose che puoi installare per ottenere prestazioni migliori rispetto alle librerie predefinite. code.google.com/p/dompdf
totallyNotLizards

6
Aggiornamento 2015: dopo aver ricercato molte opzioni abbiamo deciso di scegliere wkhtmltopdf è una bella utility che lottiamo con i CSS perché abbiamo un file CSS esterno ma poi abbiamo applicato il trucco di mettere un link fittizio di CSS sul nostro elemento HTML che vogliamo convertire e impostare la strada giusta funziona come MAGIA !!!
Anshul Nigam,

10
Credo che presto tutti troveranno Chrome / Chromium senza testa chrome --headless --print-to-pdf="path/to/pdf" https://your_url come strumento di generazione di file HTML in pdf più ricco, veloce e semplice crbug.com/603559 poiché supporta la maggior parte delle funzionalità html che gli sviluppatori fanno affidamento sullo sviluppo web e non fa schifo su script complessi come la maggior parte degli altri le librerie e gli strumenti fanno.
Ebrahim Byagowi,

Risposte:


551

Importante: questa risposta è stata scritta nel 2009 e potrebbe non essere la soluzione più conveniente oggi nel 2019. Oggi le alternative online sono migliori di quanto non fossero allora.

Ecco alcuni servizi online che è possibile utilizzare:


Dai un'occhiata a PrinceXML .

È sicuramente il miglior convertitore HTML / CSS in PDF, anche se non è gratuito (Ma hey, la tua programmazione potrebbe non essere gratuita, quindi se ti fa risparmiare 10 ore di lavoro, sei a casa gratis (poiché devi anche tenere conto del fatto che le soluzioni alternative richiedono l'installazione di un server dedicato con il software giusto)

Oh sì, ho già detto che questa è la prima (e probabilmente unica) soluzione HTML2PDF che esegue l' ACID2 completo ?

Esempi di PrinceXML


16
La mia azienda ha scritto un servizio web costruito attorno a Prince. Costi anticipatamente significativamente più economici e utilizzabili senza la necessità di installare nulla: docraptor.com
Joel Meador,

6
Ho usato anche DocRaptor. Modo fantastico per ottenere i vantaggi di Prince senza dover pagare per la costosa licenza. Congratulazioni per un ottimo prodotto, Joel.
Nate365,

22
Troppo costoso. WKHTMLTOPDF (vedi altra risposta) è gratuito, fa il lavoro e usa il webkit che è fantastico.
thomallen,

1
ci sono servizi Saas di qualità uguale o migliore per una frazione del prezzo - vedi htm2pdf.co.uk
user1914292

5
Se hai accesso alla riga di comando e NON vuoi pagare $ 3500, PhantomJS con questo script: github.com/ariya/phantomjs/blob/master/examples/rasterize.js potrebbe essere una soluzione - è il modo semplice e gratuito!
Chjortlund,

666

Dai un'occhiata wkhtmltopdf. È open source, basato su webkit e gratuito.

Abbiamo scritto un piccolo tutorial qui .

EDIT (2017):

Se fosse per costruire qualcosa oggi, non seguirei più questa strada.
Invece userei http://pdfkit.org/ .
Probabilmente spogliandolo di tutte le sue dipendenze nodejs, da eseguire nel browser.


10
Questo funziona sulla migliore premessa IMO. Conversione boostrap da un renderer esistente invece di scriverne uno da zero, non un compito banale. Inoltre, Webkit è scritto in C ++ e quindi molto più veloce e molto meno di un porco di risorse rispetto all'implementazione basata su PHP.
Koobz,

3
Abbiamo avuto enormi problemi nel tentativo di ottenere questo per rendere correttamente i font server CentOS. Dopo letteralmente settimane di pasticciare, sembra che l'unica opzione sia quella di non usare CentOS.
Abhi Beckert,

1
AVVERTIMENTO! Se usi wkhtmltopdf (almeno sul mio sistema, XAMPP su Windows 7 a 64 bit), in tutti i casi che ho provato, le immagini .gif non vengono visualizzate nel file PDF. Ho provato una serie di soluzioni alternative suggerite in vari luoghi, come ad esempio "larghezza" e "altezza", e scrivere gli URI secondo diverse convenzioni. Nulla di ciò che ho provato ha mai fatto apparire .gif (in particolare, nemmeno il suggerimento "larghezza" e "altezza", che ho provato sia usando gli stili incorporati che usando gli attributi HTML "larghezza" e "altezza" arcaici). Tuttavia, lo scambio di immagini in .jpg ha funzionato al primo tentativo.
Dan Nissenbaum,

6
Questa astrazione è piuttosto carina anche se mikehaertl.github.io/phpwkhtmltopdf
saada,

1
I servizi commerciali erano troppo costosi per noi, quindi abbiamo implementato WKHTMLTOPDF come servizio cloud gratuito html2pdfrocket.com per chiunque da usare, e poi l'abbiamo usato noi stessi per i nostri clienti. Lo abbiamo fatto in questo modo in modo che i nostri clienti non dovessero installare exe sui loro server ecc. E funzionassero su più piattaforme. Sicuramente valuto WKHTMLTOPDF se stai costruendo il tuo servizio.
eagle779,

150

Dopo qualche indagine e generale acconciatura la soluzione sembra essere HTML2PDF . DOMPDF ha fatto un lavoro terribile con tabelle, bordi e persino layout moderatamente complessi e htmldoc sembra ragionevolmente robusto ma è quasi completamente ignaro dei CSS e non voglio tornare a fare layout HTML senza CSS solo per quel programma.

HTML2PDF sembrava il più promettente ma continuavo ad avere questo strano errore sugli argomenti di riferimento null a node_type. Alla fine ho trovato la soluzione a questo. Fondamentalmente, PHP 5.1.x ha funzionato bene con regex sostituisce (preg_replace_ *) su stringhe di qualsiasi dimensione. PHP 5.2.1 ha introdotto una direttiva di configurazione php.ini chiamata pcre.backtrack_limit . Ciò che fa questo parametro di configurazione è limitare la lunghezza della stringa per cui viene eseguita la corrispondenza. Perché questo è stato introdotto non lo so. Il valore predefinito è stato scelto come 100.000. Perché un valore così basso? Ancora una volta, nessuna idea.

A questo proposito è stato sollevato un bug contro PHP 5.2.1 , che è ancora aperto quasi due anni dopo .

La cosa orribile di questo è che quando il limite viene superato, la sostituzione fallisce silenziosamente . Almeno se fosse stato generato e registrato un errore, avresti qualche indicazione su cosa è successo, perché e cosa modificare per risolverlo. Ma no.

Quindi ho un file HTML 70k da trasformare in PDF. Richiede le seguenti impostazioni php.ini:

  • pcre.backtrack_limit = 2000000; # probabilmente più del necessario ma va bene
  • memory_limit = 1024M; # sì, un gigabyte ; e
  • max_execution_time = 600; # sì, 10 minuti .

Ora il lettore astuto potrebbe aver notato che il mio file HTML è inferiore a 100k. L'unico motivo per cui posso indovinare il motivo per cui ho riscontrato questo problema è che html2pdf esegue una conversione in xhtml come parte del processo. Forse questo mi ha preso il sopravvento (anche se quasi il 50% sembra gonfio). In ogni caso, quanto sopra ha funzionato.

Ora, html2pdf è un porco di risorse. Il mio file 70k richiede circa 5 minuti e almeno 500-600M di RAM per creare un file PDF di 35 pagine. Purtroppo non abbastanza veloce (di gran lunga) per un download in tempo reale e l'utilizzo della memoria mette il rapporto di utilizzo della memoria nell'ordine di 1000 a 1 (600 M di RAM per un file 70k), il che è assolutamente ridicolo.

Sfortunatamente, questo è il migliore che ho ideato.


1
@cletus puoi parlarmi della versione stabile di HTML2PDF. L'esempio di collegamento sopra è obsoleto
Ripa Saha,

Per l'ultima versione, vedi github.com/spipu/html2pdf
Luke Wenke,

1
L'errore di battitura diventa più cupo: il rapporto di utilizzo della memoria è dell'ordine di 10.000 a 1 lol
MickLH,

Funziona tanto quanto mPDF ... più veloce, ma non preciso ... e convertire i caratteri TTF è incredibilmente doloroso ... hanno persino una libreria indipendente "tc-lib-pdf-font" solo per generare caratteri
Martin Zvarík

125

Perché non provi mPDF versione 2.0 ? L'ho usato per creare un documento PDF. Funziona bene

Nel frattempo mPDF è alla versione 5.7 ed è attivamente mantenuto, a differenza di HTML2PS / HTML2PDF

Ma tieni presente che la documentazione può essere davvero difficile da gestire. Ad esempio, dai un'occhiata a questa pagina: https://mpdf.github.io/ .

Con questa libreria è possibile eseguire attività di base su HTML in pdf, ma attività più complesse richiedono del tempo per leggere e "comprendere" la documentazione.


1
Ho provato un sacco di quelli suggeriti qui. Finora, questo è stato caricato e lavorato senza problemi e i documenti sono davvero sorprendenti rispetto al resto. Le istruzioni per l'uso sono chiaramente scritte.
Smith Smithy,

mPDF mi dà alcuni problemi seri quando POSTING tag html con sfondo immagine o tag dal database:mPDF error: IMAGE Error (http://www.example.com/folder/image.jpg): Error parsing image file - image type not recognised, and not supported by GD imagecreate
Stefan

La versione 6.0 funziona esattamente come previsto: includilo (o in un framework, caricalo) crea un'istanza, riempi le tue cose, distribuiscile in un modo o nell'altro ... Ecco!
toesslab,

Bene, MPDF funziona bene, vero! Ma il codice e la documentazione sono incoerenti: è davvero difficile svolgere un compito più complesso, ad esempio la creazione di una lettera relativa alla norma din.
Qullbrune,

Sostiene che è molto più lento di html2fpdf. Ma per i contenuti di base, ho pensato che fosse molto veloce (fatture, rapporti, ecc.). L'enorme vantaggio di mPDF è che non esistono praticamente requisiti di estensione PHP (funziona subito con l'hosting condiviso)
Joao,

70

1) usa MPDF !

a) estrarre in yourfolder

b) creare file.php in yourfoldere inserto in tale codice:

<?php
include('../mpdf.php');
$mpdf=new mPDF();
$mpdf->WriteHTML('<p style="color:red;">Hallo World<br/>Fisrt sentencee</p>');
$mpdf->Output();   exit;
 ?>

c) apri file.php dal tuo browser




2) Usa pdfToHtml !

1) estrarre pdftohtml.exe nella cartella principale:

2) all'interno di quella cartella, nel file anyfile.php , inserisci questo codice (supponendo che ci sia anche un esempio source.pdf ):

<?php
$source="example.pdf";
$output_fold="FinalFolder";

    if (!file_exists($output_fold)) { mkdir($output_fold, 0777, true);}
$result= passthru("pdftohtml $source $output_fold/new_filename",$log);
//var_dump($result); var_dump($log);
?>

3) inserisci FinalFolder , e ci saranno i file convertiti (quante pagine, come il PDF di origine aveva ..)


Vorrei provare GrabzIt la loro API supporta CSS, JavaScript e la maggior parte degli altri tipi di risorse. Deve solo essere referenziato con URL assoluti o reso in linea e incluso nell'HTML che viene inviato al servizio. Provalo qui: grabz.it/html-to-pdf-image-api.aspx

GrabzNon è gratuito
Chatoxz il


32

Solo per dare una scossa al thread, ho provato DOMPDF e ha funzionato perfettamente. Ho usato DIVe altri elementi a livello di blocco per posizionare tutto, l'ho tenuto rigorosamente CSS 2.1 e ha giocato molto bene.


31

Suggerisco DocRaptor (che utilizza PrinceXMLcome "motore")


Sfortunatamente impossibile da usare se si desidera generare file PDF di grandi dimensioni con molte immagini. Penso che ci sia un limite di tempo di 60 secondi per le richieste e se Docraptor deve scaricare molti file, questo verrà superato e non verrà creato alcun file.
Vilhelm,

1
Questo problema menzionato da Vilhelm è stato risolto.
illbzo1,

30

È già stato menzionato, ma vorrei solo confermare che mpdf è il convertitore HTML / PDF più semplice, potente e gratuito disponibile sul mercato. Il cielo è davvero il limite. Puoi persino generare pdf di dati dinamici generati dall'utente.

Ad esempio, un cliente desiderava un sistema CMS per poter aggiornare la tracklist della musica suonata nel suo club. Questo non era un problema, ma voleva anche che gli utenti potessero scaricare un .pdf della playlist, e quindi questo pdf scaricabile doveva essere aggiornato anche dal cms. Grazie a mpdf, con alcuni semplici loop e variabili intervallate ho potuto fare proprio questo. Qualcosa che pensavo mi avrebbe preso settimane mi ha letteralmente impiegato minuti.

Ottimo articolo che mi ha aiutato a iniziare.


7
Un PDF di una playlist. Dio aiutami.
Henrik Erlandsson,


26

Bene, se vuoi trovare una libreria di convertitori XHTML + CSS in PDF perfetta, dimenticala. È tutt'altro che possibile. Perché è proprio come trovare un browser perfetto (XHTML + motore di rendering CSS). Ne abbiamo uno? IE o FF?

Ho avuto un certo successo con DOMPDF. Il fatto è che devi modificare il tuo codice HTML + CSS per adattarsi al modo in cui la libreria dovrebbe funzionare. A parte questo, ho dei risultati abbastanza buoni.

Vedi sotto:

HTML originale

Conversione da HTML a PDF


25

Il HTML2PDF e html2ps che è stato originariamente menzionato in post apertura stava parlando di un pacchetto di 2009 con questo collegamento

Ma c'è un HTML2PDF migliore

È basato su TCPDF sebbene sia parzialmente in francese.

Puoi avere intestazioni o piè di pagina di tabella che si ripetono sulle pagine e che hanno numeri di pagina e pagine totali. Vedi i suoi esempi . Lo uso da oltre tre anni e lo consiglio.


1
Perché questo non è in cima? Funziona senza dipendenze extra ed è abbastanza buono per le applicazioni della maggior parte delle persone senza dover spendere $ 3800!
degenerato il

22

Sto usando fpdf per produrre file PDF usando PHP. Finora funziona bene per me per produrre output semplici.


21

C'è un tutorial sulla devzone di Zend sulla generazione di pdf da php ( parte 1 , parte 2 ) senza librerie esterne. Non ho mai implementato questo tipo di soluzione, ma poiché è tutto php, potresti trovare più flessibile l'implementazione e il debug.



Sì, ma questo non converte l'HTML ... è una generazione di PDF non
elaborata

16

Prova ad afferrare l'ultimo build notturno di dompdf : stavo usando una versione precedente che era un terribile maiale di risorse e impiegavo un'eternità a rendere il mio pdf. Dopo aver preso una notte da qui .

Ci sono voluti solo pochi secondi per generare il PDF, ed è stato reso altrettanto bene come con PrinceXML / Docraptor . Sembra che abbiano seriamente ottimizzato il codice dompdf dall'ultima volta che l'ho usato!


dompdf è davvero un'ottima opzione. L'ho usato due volte ed è molto semplice. Consiglierò di provare dompdf. Ecco il link per il repository ufficiale di github: github.com/dompdf/dompdf
Rituparna sonowal,

16

La menzione di Darryl Hein sopra di TCPDF è probabilmente una grande idea. Il codice di Nicola Asuni è abbastanza utile e potente. L'unico killer è se hai mai intenzione di unire i file PDF con il tuo PDF generato non ha quelle funzionalità. Dovresti creare il PDF e poi unirlo usando qualcosa come PDFTK di Sid Steward (www.pdflabs.com/tools/pdftk-the-pdf-toolkit/).


13

In termini di costi, l'utilizzo di un servizio Web (API) può in molti casi essere l'approccio più sensato. Inoltre, affidando in outsourcing questo processo, è possibile snaturare la propria infrastruttura / back-end e, purché si stia utilizzando un servizio affidabile, garantire la compatibilità con l'adeguamento degli standard Web, i tempi di attività, i tempi di elaborazione brevi e la consegna rapida dei contenuti.

Ho fatto alcune ricerche sulla maggior parte dei servizi web attualmente sul mercato, di seguito trovi le API che ritengo valga la pena menzionare su questo thread, in un ordine basato sul rapporto prezzo / valore. Tutti offrono pacchetti e classi PHP precomposti.

  1. pdflayer.com - Costo: $ - Qualità: ☆☆☆☆
  2. docraptor.com - Costo: $$$ - Qualità: ☆☆☆☆☆
  3. pdfcrowd.com - Costo: $$ - Qualità: ☆☆☆

Qualità:

Avendo il motore di alta qualità PrinceXMLcome backbone, DocRaptor offre chiaramente la migliore qualità PDF, restituendo documenti PDF altamente lucidati e ben convertiti. Tuttavia, il servizio API pdflayer si avvicina molto qui. Pdfcrowd non ottiene necessariamente un punteggio con la qualità, ma con la velocità di elaborazione.

Costo:

pdflayer.com - Come indicato sopra, l'opzione più economica qui è pdflayer.com, che offre un piano di abbonamento completamente gratuito per 100 PDF mensili e abbonamenti premium che vanno da $ 9,99 a $ 119,99. Il prezzo per 10.000 documenti PDF mensili è di $ 39,99.

docraptor.com - Offrendo un periodo di prova gratuito di 7 giorni. I piani di abbonamento premium vanno da $ 15 a $ 2250. Il prezzo per 10.000 documenti PDF mensili è di ~ $ 300,00.

pdfcrowd.com - Offre 100 PDF una volta gratis. I piani di abbonamento premium vanno da $ 9 a $ 89. Il prezzo per 10.000 documenti PDF mensili è di ~ $ 49,00.

Li ho usati tutti e tre e questo testo dovrebbe aiutare chiunque a decidere senza dover pagare per tutti. Questo testo non è stato scritto per sostenere alcun prodotto e non ho alcuna affiliazione con nessuno dei prodotti.


Grazie per le condivisioni. Stavo studiando tutte le opzioni tutto il giorno e mi ero concentrato di più sulle lib lib o sull'acquisto della lib. La tua risposta mi aiuta di nuovo a Thnik. Per le piccole imprese è il modo più economico e il modo più semplice di andare con i servizi web. Per pdflayer.com; meno di $ 100 / anno ci vogliono 20 o 30 anni per raggiungere il pareggio, ma non credo che partiremo nello stesso mondo 20 anni dopo :)
freewill

12

Se si ha accesso alla riga di comando è possibile utilizzare PhantomJS per creare il PDFda un URL(remoto o locale).

Funziona davvero bene ed è una soluzione gratuita.

Dai un'occhiata a questo script di esempio creato per questo esatto problema.


ma potresti avere dei problemi con i caratteri (webfonts)
Mihai Crăiță

11

Questa domanda è già piuttosto vecchia, ma non ho visto nessuno menzionare CutyCapt, quindi lo farò :)

CutyCapt

CutyCapt è una piccola utility da riga di comando multipiattaforma per acquisire il rendering WebKit di una pagina Web in una varietà di formati vettoriali e bitmap, tra cui SVG, PDF, PS, PNG, JPEG, TIFF, GIF e BMP



9

Non credo che una classe php sia la migliore per il rendering di una pagina xHtml con CSS.

Cosa succede quando esce una nuova regola CSS? (presto css 3.0 ...)

Il modo migliore per eseguire il rendering di una pagina html è, ovviamente, un browser. Firefox 3.0 può 'nativamente' stampare in formato pdf, torisugary ha sviluppato un'estensione (stampa da riga di comando) per usarlo. Qui lo troverai.

Comunque, ci sono ancora molti problemi relativi a Firefox proprio come un convertitore PDF ...

Al momento, penso che wkhtmltopdf sia il migliore (quello utilizzato dal browser Safari), veloce, veloce, fantastico. Sì, anche opensource ... Dai un'occhiata


PHP è utile se vuoi produrre qualche tipo di documentazione ufficiale come una ricevuta per un utente e puoi usare i CSS per renderlo piacevole.
Luke Wenke,

9

Ho sviluppato un'API pubblica per creare file PDF da pagine Web. Ha una bella classe client PHP che lo rende super facile da usare. Utilizza wkhtmltopdf per eseguire il rendering del PDF nel cloud.

Non c'è bisogno di nulla di speciale in HTML. Non sono necessari URL assoluti nei collegamenti images / css / js. Funziona anche su localhost (macchina di sviluppo).

Attualmente il servizio ha endpoint in 4 aree di Azure: Stati Uniti orientali, Stati Uniti occidentali, Nord UE, Sud-est asiatico.

È veloce poiché utilizza un protocollo proprietario per inviare i contenuti della pagina Web all'API per la conversione in PDF.

È affidabile perché tutti gli endpoint sono bilanciati in base al carico.

Account gratuito disponibile per test o basso utilizzo. Dettagli sul sito web:

https://rotativahq.com


8

Forse potresti provare a usare Tidy prima di passare il file al convertitore. Se uno dei renderer soffoca su qualche problema HTML (come tag non chiuso), potrebbe esserlo.


Sì, un punto valido ma ci ho già pensato. Non ci sono tag senza eguali né non standard nel mio HTML.
cletus,

7

Il rendering fine non significa nulla. Convalida?

Tutti i browser fanno il possibile per mostrare qualcosa sullo schermo, non importa quanto male sia l'input. E ovviamente non fanno la stessa cosa. Se si desidera lo stesso rendering di FireFox, è possibile utilizzare il suo motore di rendering. Ci sono generatori di pdf per questo. È un lavoro tremendo, però.


7

Sebbene ci siano già molte soluzioni offerte, raccomando le due seguenti:

  1. HTM2PDF - offre un'API per convertire HTML in PDF e ha anche un SDK PHP, che semplifica l'implementazione in PHP; Offre una scelta di posizioni dei server in Europa, Asia e Stati Uniti
  2. PDFmyURL : offre un'API che esegue anche URL e HTML in PDF, con circa le stesse funzionalità di HTM2PDF, ma funziona in un ambiente bilanciato dal carico ed è rimasto un po 'più a lungo

La cosa diversa di queste due API da tutte le soluzioni precedentemente menzionate è che, oltre a convertire HTML in PDF con CSS e JavaScript, offre anche gestione dei diritti PDF, filigrana e crittografia. Pertanto è una soluzione all-in-one per coloro che vogliono colpire il terreno correndo.

Disclaimer: lavoro per Kaiomi, una società che gestisce entrambi questi siti Web.


Non vorrei fare affidamento su un servizio quando è in vendita . Dato che è stato invenduto in quell'asta, posso solo supporre che sarà venduto nel prossimo futuro?
Robin van Baalen,

in realtà la mia azienda l'ha acquisito qualche tempo dopo l'asta ....
user1914292

In tal caso, suppongo che non ci sia nulla di cui preoccuparsi.
Robin van Baalen,

5

La conversione da HTML a PDF deve davvero avvenire sul lato server usando PHP?

Mi sono appena imbattuto in jsPDF , una soluzione lato client che utilizza HTML5 / JavaScript. Anche il codice con licenza MIT è su GitHub .


per me la biblioteca è molto limitata
YXN,

5

TCPDF funziona bene, senza dipendenze, è gratuito e costantemente corretto. Ha una velocità ragionevole se i contenuti HTML / CSS forniti sono ben formati. Generalmente generi da 50 a 300 kB di input HTML (incluso CSS) e ottengo output PDF in 1-3 secondi con 10-15 pagine PDF.

Consiglio vivamente di utilizzare la libreria ordinata come HTML piuttosto formattatore prima di inviare qualsiasi cosa a TCPDF.


4

Ho provato molte librerie diverse per PHP. Tutti gli elenchi che ho provato. A mio avviso, la libreria TCPDF è il miglior compromesso in termini di prestazioni / usabilità. È molto semplice da installare e utilizzare, anche buone prestazioni in applicazioni medio-piccole. Se hai bisogno di documenti PDF ad alte prestazioni e molto grandi, usa il modulo Zend_PDF , ma preparati a scrivere codice!


Zend PDF non può essere convertito da HTML
Martin Zvarík il

3

API Web

Se ci sono persone che cercano sempre questo tipo di cose, c'è un sito Web gratuito che ti permette di convertire codice HTML e pagine in pdf. C'è anche un API (molto piccolo) che ti permette di ottenere file pdf dall'URL.

Controlla qui


2

non PHP , ma una libreria Java , che fa la cosa:

Flying Saucer accetta XML o XHTML e applica fogli di stile conformi a CSS 2.1 per renderlo in PDF

È utilizzabile da PHP tramite system()o una chiamata simile. Anche se richiede XML ben formato del file input.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.