In riferimento al mio post precedente,
dato che ho trovato parecchia difficoltà (*) a far funzionare PdfTk per unire più file pdf in un
unico file, quando i file di partenza erano parecchi, ho provato ad ottenere lo stesso risultato utilizzando la tanto
bistrattata (a me ha risolto parecchi problemi in passato )
libreria iTextSharp:
public class
Utils
{
public static void
ConcatPdfFile(ArrayList pdfs,
string
filename)
{
Document document =
new
Document();
PdfWriter writer = PdfWriter.GetInstance(document,
new
FileStream(filename, FileMode.Create));
document.Open();
PdfContentByte cb = writer.DirectContent;
int
numPdf = pdfs.Count;
for
(
int
i=0; i<numPdf; i++)
{
PdfReader reader =
new
PdfReader((
string
)pdfs[i]);
int
pages = reader.NumberOfPages;
for
(
int
j=0; j<pages; j++)
{
document.SetPageSize(reader.GetPageSizeWithRotation(j+1));
document.NewPage();
cb.AddTemplate(writer.GetImportedPage(reader, j+1),0,0);
}
}
document.Close();
}
}
(*)A dir la verità PdfTk riusciva a concatenare tutti i file lanciando il comando
dal prompt, ma non riuscivo a farlo funzionare, o meglio non funzionava sempre, creando, da codice,
un nuovo processo tramite la classe System.Diagnostics.Process.
Non avendo tempo per indagare in merito al problema l'ho aggirato (soluzione rapida
ma non permette di andare a fondo ai problemi
)...
Per adesso accontentiamoci di questo, in attesa di buone nuove...e soprattutto di un po'di tempo e magari di un po'di vacanze!!!
Ciao a tutti
...you probably don't write any code until you can build a picture in your mind of what the code does
and how the pieces of the code interact..."
powered by IMHO 1.3