我正在使用创建PDF文件的itextsharp c#,它还有用户签名,我需要将这些PDF组合起来,以便用户可以生成单个PDF文件,这些文件完美结合但是如果没有签名就可以使用,解决方案是创建PDF产品组合我找到了很多创建产品组合的例子但是所有产生PDF字段和文档都在飞行中,在我的情况下我已经生成了PDF,但我需要用现有文件创建产品组合。
以下是合并pdf文件的当前代码:
using (System.IO.MemoryStream msOutput = new System.IO.MemoryStream())
{
using (iTextSharp.text.Document doc = new iTextSharp.text.Document())
{
using (iTextSharp.text.pdf.PdfSmartCopy pCopy = new iTextSharp.text.pdf.PdfSmartCopy(doc, msOutput) { PdfVersion = iTextSharp.text.pdf.PdfWriter.VERSION_1_7 })
{
doc.Open();
foreach (byte[] oFile in files)
{
using (iTextSharp.text.pdf.PdfReader pdfFile = new iTextSharp.text.pdf.PdfReader(oFile))
{
for (int i = 1; i <= pdfFile.NumberOfPages; i++)
{
pCopy.AddPage(pCopy.GetImportedPage(pdfFile, i));
}
}
}
}
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", String.Format("attachment;filename=\"{0}\"", "Output_Filename.pdf"));
// Response.AddHeader("Content-Length", msOutput.Length.ToString());
Response.BinaryWrite(msOutput.ToArray());
Response.End();