2009-02-05 8 views
6

Ho una pagina Web ASP.NET che è un report generato dinamicamente. Per motivi aziendali, questo rapporto esatto deve essere prodotto in formato PDF. Qual'è il miglior modo per farlo? L'impostazione della stampante selezionata su Adobe PDF non è un'opzione.Documento HTML in PDF?

Impara a creare a livello di codice PDF da zero? C'è un modo per renderlo in qualche controllo del browser, quindi salvare l'uscita?

risposta

4

Se il report è una griglia (probabilmente è), this blog post using iTextSharp può aiutare. iTextSharp è buono e l'API PDF più completa per C# che ho visto.

+2

Se non è una semplice griglia, iTestSharp non è proprio adatto alle sue esigenze: ha bisogno di una conversione da html a PDF in un solo passaggio, non di riscrivere l'intera pagina riga per riga di nuovo come PDF. – MGOwen

3

Non so se ABCpdf .NET è gratuito ma ne ho sentito parlare bene. Penso che possa rendere i file HTML direttamente in PDF.

http://www.websupergoo.com/abcpdf-5.htm

Ho usato PDFsharp (supponendo che si sta utilizzando C# in collaborazione con ASP) e funziona bene. Tuttavia, non rende l'HTML per quanto ne so.

http://pdfsharp.com/PDFsharp/

-1

Lei non ha citato se siete alla ricerca di una soluzione open source o un $$ uno?

Ma ecco un convertitore open source: http://sourceforge.net/projects/itextsharp/ che è abbastanza decente.

+1

FYI - Ora hanno un modello di licenza "commerciale" che non è gratuito. Nessun dettaglio sul costo sul loro sito. – NotMe

0

Se si è specificamente interessati alla generazione di PDF, posso consigliare i prodotti Dynamic PDF da CeTe. Sono un po 'costosi ma hanno molte opzioni, sono facili da usare e sono abbastanza ben documentati.

8

wkhtmltopdf - L'ho compilato in Windows e funziona benissimo. Usa WebKit (Safari, Chrome, ecc.) Per rendere una pagina HTML in PDF, ed è gratis!

+0

Troverlo all'indirizzo: http://code.google.com/p/wkhtmltopdf/ Sembra abbastanza buono da alcuni test rapidi. Dovrebbe fare il lavoro se GPLv3 funziona per te. – RBerteig

+0

ovunque riesca a ottenere i binari di Windows ??? – opensas

+0

http://code.google.com/p/wkhtmltopdf/ ed è un singolo binario per Windows – jle

0

Hai guardato SQL Server Reporting Services? Se si utilizza MSSQL 2005/2008, probabilmente si dispone già di servizi di reportistica e è sufficiente configurarlo. È possibile ospitare i report e in poche righe di codice ottenere il report come file PDF.

//create the web request for the report based on a URL that will define export 
    //format, parameter values, etc. 
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(reportUrl); 
    //send creditials if necessary 
    request.Credentials = new NetworkCredential(userName, password); 
    //response will contain the PDF file as a stream 
    HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

Ecco un link che potrebbe aiutare pure

3

L'anno scorso, ho fatto un progetto con i PDF, e ho appena imparato il formato PDF, per cui sono molto contento.

Il PDF specification è disponibile liberamente e PDF è abbastanza accessibile e facile da capire come programmatore. Un PDF è un documento in testo semplice, opzionalmente compresso. Ogni pagina è un piano cartesiano, sul quale si disegnano forme geometriche una per una. È di basso livello e fatto su misura per la generazione di software.Ovviamente ci sono cose avanzate come glifi e cose, ma come ogni tecnologia ben architettata, puoi permetterti di attaccare ai livelli di astrazione se vuoi.

Se fare PDF diretto dipende dalla complessità dei documenti. Per elementi di base con grafica, testo e immagini semplici (ad esempio, una fattura è un buon candidato), quindi vorrei solo scrivere direttamente PDF. Avrai una buona esperienza e avrai il pieno controllo.

Per cose più complicate come tabelle e grafici a torta (per i quali il PDF è troppo basso per scrivere direttamente), quindi vorrei esaminare una libreria o un toolkit di qualche tipo.

0

Utilizzare il componente di conversione PDF Duo .NET. Converte HTML in PDF, quindi dopo la generazione del report HTML è possibile creare anche il PDF nel progetto ASP.NET.

0

È inoltre possibile trovare prodotti che lo fanno da Adobe, Foxit e Windward Reports (disclaimer - Sono il CTO di Windward).