Gran parte delle applicazioni business-oriented ha bisogno, per un motivo o un altro, di generare al volo documenti PDF: una fattura, una conferma di prenotazione, report di varia natura ecc. In commercio e nel mondo open source esistono varie librerie, per qualsiasi tecnologia, che permettono di lavorare con PDF in "maniera umana", tramite un comodo modello ad oggetti. Per il mondo .NET, le mie preferite sono:
- iTextSharp: libreria open-source, porting della popolarissima libreria iText per Java. Tempo fa lo sviluppo si era un po' fermato, ma sembra essere ripreso alla grande e l'ultimo rilascio risale al 25 gennaio scorso. La libreria è molto completa e anche leggendo in giro sembra essere molto raccomandata. Per la versione Java originale esiste addirittura un libro, "iText in Action". Purtroppo per la versione .NET gli esempi non sono molto aggiornati, e alcuni proprio non funzionano, essendo nel tempo cambiato qualcosa nel modello ad oggetti. Se avete un po' di tempo da dedicarci comunque direi che ne può valere decisamente la pena, considerate le potenzialità.
- ABCpdf: è una libreria commerciale che ho avuto modo di apprezzare personalmente. Nonostante il costo sia molto contenuto rispetto ai concorrenti (225€, contro i 350-550 chiesti da altri produttori) è anche quella più completa: ci sono veramente un mare di feature, compresa la creazione di PDF a partire da quasi qualsiasi tipo di immagine, file PostScript e SVG; se avete installato OpenOffice.org può importare anche documenti Word, Excel, Rtf, Lotus e AutoCAD. I documenti (caricati da un file o template esistenti, o creati da zero) possono essere manipolati, fusi assieme, ridimensionati; potete disegnare testo formattato e usare varie primitive grafiche, aggiungere watermark, applicare password o firme digitali, ...Una delle funzionalità che ho trovato comodissime è la possibilità di convertire in PDF anche un documento HTML con immagini, tabelle e quant'altro, compreso il supporto per fogli di stile CSS (la feature è comoda perchè creare un fattura in HTML è senz'altro più comodo che crearla usando le varie funzioni di disegno e stampa di testo basate su attributi e coordinate). Il tutto è pacchettizzato in un'unica DLL 100% managed e molto performante. Insomma davvero un'ottima libreria.
Di librerie ce ne sarebbero molte altre (
Dynamic PDF,
PDF Creator,
TallPDF ecc. ecc.), ma non ho avuto modo di provarle sul serio perchè arrivato a ABCpdf mi sono fermato

Andando in giro per i siti dei vari produttori ho però trovato un
controllo free che potrebbe tornare utile:
PDFThumbnail.NET. Come suggerisce il nome stesso, questo componente per ASP.NET 2.0 genera dinamicamente un'immagine di preview per il PDF referenziato dalla sua proprietà
path. Per chi offre il download di molti PDF immagino che fornire una preview dinamica potrebbe essere una feature piuttosto simpatica (e in questo caso a costo zero).