iText Sharp合并Excel文件

时间:2016-04-17 05:37:52

标签: c# asp.net excel

我使用iText Sharp将两个PDF文件合并为一个PDF文件。但是有可能使用iText Sharp将excel文件合并为PDF文件吗?我尝试了很多次,但它对我不起作用。这是我的PDF合并代码:

    protected void btnMerge_Click(object sender, EventArgs e)
    {
        if (file1.HasFile && file2.HasFile)
        {
            PdfReader pdfReader1 = new PdfReader(file1.PostedFile.InputStream);
            PdfReader pdfReader2 = new PdfReader(file2.PostedFile.InputStream);

            List<PdfReader> readerList = new List<PdfReader>();
            readerList.Add(pdfReader1);
            readerList.Add(pdfReader2);

            //Define a new output document and its size, type
            Document document = new Document(PageSize.A4, 0, 0, 0, 0);
            //Get instance response output stream to write output file.
            PdfWriter writer = PdfWriter.GetInstance(document, Response.OutputStream);
            document.Open();

            foreach (PdfReader reader in readerList)
            {
                for (int i = 1; i <= reader.NumberOfPages; i++)
                {
                    PdfImportedPage page = writer.GetImportedPage(reader, i);
                    document.Add(iTextSharp.text.Image.GetInstance(page));
                }
            }
            document.Close();

            Response.AppendHeader("content-disposition", "inline; filename=OutPut.pdf");
            Response.ContentType = "application/pdf";
        }

    }

    private void MergePDFs(string outPutFilePath, params string[] filesPath)
    {
        List<PdfReader> readerList = new List<PdfReader>();
        foreach (string filePath in filesPath)
        {
            PdfReader pdfReader = new PdfReader(filePath);
            readerList.Add(pdfReader);
        }

        //Define a new output document and its size, type
        Document document = new Document(PageSize.A4, 0, 0, 0, 0);
        //Create blank output pdf file and get the stream to write on it.
        PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(outPutFilePath, FileMode.Create));
        document.Open();

        foreach (PdfReader reader in readerList)
        {
            for (int i = 1; i <= reader.NumberOfPages; i++)
            {
                PdfImportedPage page = writer.GetImportedPage(reader, i);
                document.Add(iTextSharp.text.Image.GetInstance(page));
            }
        }
        document.Close();
    }

}

}

0 个答案:

没有答案