// based on example http://itextsharp.sourceforge.net/examples/Concat.cs
public string ConcatFilesOld(List <string> files, string targetPath)
{
try
{
if (files.Count > 0)
{
string file = files[0];
iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(GetFullPath(file));
int n = reader.NumberOfPages;
iTextSharp.text.Document document = new iTextSharp.text.Document(reader.GetPageSizeWithRotation(1));
iTextSharp.text.pdf.PdfWriter writer = iTextSharp.text.pdf.PdfWriter.GetInstance(document, new System.IO.FileStream(targetPath, System.IO.FileMode.Create));
reader.Close();
document.Open();
iTextSharp.text.pdf.PdfContentByte cb = writer.DirectContent;
iTextSharp.text.pdf.PdfImportedPage page;
int rotation;
foreach (string sourceFile in files)
{
int i = 0;
iTextSharp.text.pdf.PdfReader reader2 = new iTextSharp.text.pdf.PdfReader(GetFullPath(sourceFile));
n = reader2.NumberOfPages;
while (i < n)
{
i++;
document.SetPageSize(reader2.GetPageSizeWithRotation(i));
document.NewPage();
page = writer.GetImportedPage(reader2, i);
rotation = reader2.GetPageRotation(i);
if (rotation == 90)
{
cb.AddTemplate(page, 0, -1f, 1f, 0, 0, reader2.GetPageSizeWithRotation(i).Height);
}
else if ((rotation == 270))
{
cb.AddTemplate(page, 0f, 1f, -1f, 0f, reader2.GetPageSizeWithRotation(i).Width, 0f);
}
else
{
cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
}
}
writer.FreeReader(reader2);
reader2.Close();
}
if (document.IsOpen())
{
document.CloseDocument();
document.Close();
}
return("");
}
else
{
return("No files to process, use AddFile method");
}
}
catch (Exception e)
{
return(e.Message);
}
}