Accodamento PDF o Download multiplo

lunedì 22 novembre 2010 - 10.14
Tag Elenco Tags  VB.NET  |  .NET 1.1  |  Windows XP  |  Visual Studio 2003  |  Access (.mdb)  |  Internet Explorer 7.0

Alfetta87 Profilo | Newbie

Buongiorno a tutti.

Da una applicazione Web ASP.NET creo dei PDF che salvo in formato Byte dentro un database.
Il mio problema è che i pdf creati possono essere uno come possono essere anche 5000 (numero non definito a priori).

Devo poter fornire all'utente la possibilità di stampare questi pdf in modo "veloce" (o più veloce possibile).

Le mie idee sono due:
- Prendere i vari pdf e accodarli uno dietro l'altro creando un unico pdf con all'interno tutte le pagine degli altri pdf (una pagina per ogni pdf visto che so a priori che ogni pdf è composto solo ed esclusivamente da una pagina)
- Generare singolarmente tutti i pdf e ritornarli in download all'utente (magari compressi in un'unica cartella o qualcosa del genere)

I PDF vengono generati tramite la classe iTextSharp.
Qualcuno ha qualche idea su come eseguire le due operazioni sopra descritte (o ha qualche altra idea su come eseguire questo tipo di operazione)?

Per favore è urgente se qualcuno ha anche qualche "bozza" come idea mi faccia sapere.

Grazie
Paolo

paoval72 Profilo | Senior Member

Ciao. Nell'applicazione su cui lavoro abbiamo utilizzato una libreria ope source: pdfforge. Con questa puoi creare il tuo pdf e anche fare un merge (cioè unire più pdf), in modo da presentare poi un unico pdf al cliente.
Lo trovi qui:
http://www.pdfforge.org/


PV

Alfetta87 Profilo | Newbie

Grazie per la risposta.

Volevo sapere dopo aver scaricato questo applicativo come integrarlo su visual studio 2003 (dove si trova la libreria dll da importare insomma).

Poi quali comandi devo usare per eseguire il merge?
iTextSharp non ha la funzione Merge?

Grazie
Paolo

alx_81 Profilo | Guru

>Buongiorno a tutti.
Ciao

>Da una applicazione Web ASP.NET creo dei PDF che salvo in formato Byte dentro un database.
Spero non siano molto grandi

>Le mie idee sono due:
>- Prendere i vari pdf e accodarli uno dietro l'altro creando
>un unico pdf con all'interno tutte le pagine degli altri pdf
>(una pagina per ogni pdf visto che so a priori che ogni pdf è
>composto solo ed esclusivamente da una pagina)
direi che puoi tranquillamente concatenarli con iTextSharp e poi mandare in stampa.
Quindi leggere dalla tabella la colonna coi pdf -- > concatenazione iTextSharp --> stampa.
Non suona male E poi è semplice aggiungere con iTextSharp parti di pdf.
Lo stai usando o hai bisogno di reference?

>Grazie
di nulla!

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Alfetta87 Profilo | Newbie

No non sono molto grandi i file pdf (pochi kb a pdf e una pagina massima per pdf).

direi che puoi tranquillamente concatenarli con iTextSharp e poi mandare in stampa.
Quindi leggere dalla tabella la colonna coi pdf -- > concatenazione iTextSharp --> stampa.
Non suona male E poi è semplice aggiungere con iTextSharp parti di pdf.
Lo stai usando o hai bisogno di reference?

Avrei bisogno di reference (specifico però che con l'inglese non vado molto d'accordo)...
Se mi puoi lasciare le reference me le guardo molto volentieri però per questo progetto ho un po di fretta e quindi vorrei chiederti se sai:
1) Come aprire (o "mettere" in una variabile) con iTextSharp un pdf già creato (il comando che devo usare con iTextSharp)
2) Come accodare i pdf (il comando che devo usare sempre con iTextSharp)
3) Come lanciare la stampa del documento pdf creato (il comando che devo usare sempre con iTextSharp)

Grazie veramente a tutti per la disponibilità che dimostrate sempre.
Spero un giorno di poter dare anche io il mio contributo a questo forum.

alx_81 Profilo | Guru

>Avrei bisogno di reference (specifico però che con l'inglese non vado molto d'accordo)...
http://www.codeproject.com/KB/graphics/iTextSharpTutorial.aspx
oppure un bel libro
http://www.manning.com/lowagie2/

>1) Come aprire (o "mettere" in una variabile) con iTextSharp un pdf già creato (il comando che devo usare con iTextSharp)
http://stackoverflow.com/questions/2368423/itextsharp-opening-pdf-document-from-memory

>2) Come accodare i pdf (il comando che devo usare sempre con iTextSharp)
Merging with iTextSharp (esempio web, facilmente adattabile)
http://geekswithblogs.net/bsherwin/archive/2007/06/29/113566.aspx
Altro esempio di merge di più pdf
http://khsw.blogspot.com/2006/04/merge-pdf-files-using-itextsharp.html

>3) Come lanciare la stampa del documento pdf creato (il comando che devo usare sempre con iTextSharp)
di solito lancio il pdf come processo (Process.Start), così si apre Adobe e stampo da lì con anteprima.

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Alfetta87 Profilo | Newbie

Gentilissimo mi ha risolto il problema.

Grazie davvero

Paolo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5