In che modo Google crea questi fantastici report PDF in Analytics e quando stampi un documento Google, ecc.?[Chiuso]

StackOverflow https://stackoverflow.com/questions/47709

Domanda

Quando stampi da Google Docs (utilizzando il collegamento "stampa", non File/Stampa) finisci per stampare un file PDF ben formattato invece di fare affidamento sul motore di stampa del browser.Lo stesso vale per alcuni dei report di Google Analytics...i rapporti stampati in formato PDF sono bellissimi.Come lo fanno?Non riesco a immaginare che usino qualcosa come Adobe Acrobat per facilitarlo, ma forse lo fanno.Di tanto in tanto ho visto online alcuni costosi convertitori da HTML a PDF, ma non mi sono mai stancato.qualche idea?

È stato utile?

Soluzione

Se stai guardando specificamente come lo fa Google.Se guardi il Proprietà PDF pagina, usano Prince 6.0 (vedi www.princexml.com)

Esistono molti altri generatori di PDF.Ho avuto un grande successo con PDFlib per lavori complicati.

alt text

Altri suggerimenti

iTextSharp e iText sono librerie di generazione PDF opensource e gratuite rispettivamente per .NET e Java.

Li ho già usati per generare report PDF e sono rimasto abbastanza soddisfatto dei risultati.

http://itextsharp.sourceforge.net/

http://www.lowagie.com/iText/

Ottima alternativa gratuita a PrinceXML: wkhtmltopdf .Esistono molte librerie wrapper per varie lingue, ma ho usato solo quelle di Ruby.Tuttavia il prodotto stesso è alla pari con PrinceXML IMHO.

Ho avuto successo con pd4ml.Ha una libreria di tag, quindi puoi trasformare qualsiasi HTML esistente in PDF tramite

<pd4ml:transform>
<!-- Your HTML is here -->

<c:import url="/page.html" />
</pd4ml:transform>

Beh, dubito che sia facile come generare HTML...Voglio dire, prima di tutto, il PDF non è un formato leggibile dall'uomo e non è testo semplice (come SVG).In effetti, paragonerei un file SVG a un file PDF in quanto con entrambi hai un controllo preciso sul layout di una pagina stampata.Ma SVG è diverso in quanto è XML (e anche in quanto non è completamente supportato nel browser...sto ancora esaminando anche SVG).Ora che ci penso, SVG dovrebbe probabilmente essere la mia prossima domanda.

So che Google non utilizza .NET e dubito che utilizzi Java, quindi devono esserci altre librerie che utilizzano per generare file PDF.Ancora più importante, come creano i PDF senza dover riscrivere tutto come PDF anziché come HTML?Voglio dire, deve esserci del codice condiviso nel momento in cui generano la visualizzazione HTML anziché la visualizzazione PDF.Vieni a pensarci, forse la visualizzazione PDF e la visualizzazione HTML sono completamente separate e hanno solo due visualizzazioni ed ecco perché lo stile di sviluppo MVC sembra essere la strada da percorrere.

Il rendering di un PDF è un problema difficile e complesso.Tuttavia generarli non lo è.Crea semplicemente alcune entità e generale.Si tratta dello stesso dominio problematico della generazione di HTML per la pagina Web rispetto alla generazione di HTML per la pagina Web.visualizzandolo (renderizzandolo).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top