ITextSharp

mercoledì 15 luglio 2009 - 11.26

lanfra Profilo | Senior Member

Scusate se disturbo/sbaglio stanza fdove posto il topic, ma trattasi di report quindi....
Io creo un report in formato Pdf con la libreria iTextSharp, a cui aggiungo valori che ricavo da DB e li formatto nella pagina con immagini personalizzate.

Ora dovrei aggiungere a questo report dei file Pdf già fatti, qualcuno sa come aggiungere [se si può fare] al mio documento creato dei documenti pdf già esistenti?

grazie


Lanfra

mikyn73@hotmail.com Profilo | Newbie

Ciao,
a questo indirizzo http://www.paologios.com/ trovi un interessantissimo programma con sorgenti per unire pdf.
Prova a vedere se fa al caso tuo.
Ciao
Michele

freeteo Profilo | Guru

Ciao,
con ItextSharp puoi fare anche il merge di vari file PDF, guarda questi esempi:
http://geekswithblogs.net/bsherwin/archive/2007/06/29/113566.aspx
http://alex.buayacorp.com/merge-pdf-files-with-itext-and-net.html

oppure se hai GhostScript ti basta una ShellExecute con i nomi dei files come parametri:
gswin32.exe -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUT=merged.pdf -dBATCH "1.pdf" "2.pdf" "3.pdf" etc...

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

lanfra Profilo | Senior Member

Grazie Teo... notizie come al solito precise e risolutive...

Public Sub Stampa(ByVal PdfContratto As String) ' Stream di byte in memoria Dim mem As New MemoryStream() ' Nuovo documento Dim documento As New Document() ' Crea un pdf writer e lo collega al flusso di byte in memoria Dim docOut As PdfWriter = PdfWriter.GetInstance(documento, mem) ' Definisce un oggetto per contenere grafica di sfondo e testo con posizionamento ' assoluto Dim cb As PdfContentByte '..:: LG aggiunta stampa contratto Dim reader As iTextSharp.text.pdf.PdfReader Dim page As iTextSharp.text.pdf.PdfImportedPage Dim currentPageNumber As Integer '''''''''''''''''''''''''''''''''' ' Definizione formato pagina documento.SetPageSize(PageSize.A4) documento.SetMargins(50, 50, 50, 50) ' Apertura documento documento.Open() cb = docOut.DirectContent '..:: LG PdfContratto = ConfigurationManager.AppSettings("PathContratti") & "\" & PdfContratto reader = New iTextSharp.text.pdf.PdfReader(PdfContratto) '''''''' For i As Integer = 1 To CopieStampa '..:: LG For y As Integer = 1 To ConfigurationManager.AppSettings("PagineContratti") page = docOut.GetImportedPage(reader, y) cb.AddTemplate(page, 1.0F, 0, 0, 1.0F, 0, 0) documento.NewPage() Next documento.NewPage() '''''''' CreaPaginaStampa(documento, cb) documento.NewPage() Next ' Chiusura documento documento.Close() StampaPDF(mem) End Sub


Lanfra
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