如何使用iTextSharp使用现有PDF创建PDF包

时间:2017-03-23 14:30:58

标签: c# .net pdf itext

我正在使用创建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();

0 个答案:

没有答案