相关疑难解决方法(0)

如何合并多个pdf文件(在运行时生成)?

如何合并多个pdf文件(在运行时生成)ItextSharp然后打印它们.

我找到了以下链接,但该方法需要pdf名称考虑到存储的pdf文件,这不是我的情况.


我有多个报告我会pdf files通过这种方法将它们转换为:

private void AddReportToResponse(LocalReport followsReport)
{
    string mimeType;
    string encoding;
    string extension;
    string[] streams = new string[100];
    Warning[] warnings = new Warning[100];
    byte[] pdfStream = followsReport.Render("PDF", "", out mimeType, out encoding, out extension, out streams, out warnings);
  //Response.Clear();
  //Response.ContentType = mimeType;
  //Response.AddHeader("content-disposition", "attachment; filename=Application." + extension);
  //Response.BinaryWrite(pdfStream);
  //Response.End();
}
Run Code Online (Sandbox Code Playgroud)

现在我想将所有生成的文件(Bytes)合并到一个pdf文件中进行打印

c# pdf asp.net rdlc itextsharp

18
推荐指数
4
解决办法
7万
查看次数

C#iTextSharp通过字节数组合并多个pdf

我是新手使用iTextSharp并使用Pdf文件,但我认为我走在正确的轨道上.

我遍历一个pdf文件列表,将它们转换为字节,并将所有结果字节推送到一个字节数组中.从那里我将字节数组传递给concatAndAddContent()以将所有pdf合并为一个大的pdf.目前我刚刚获得列表中的最后一个pdf(它们似乎被覆盖)

public static byte[] concatAndAddContent(List<byte[]> pdfByteContent)
    {
        byte[] allBytes;

        using (MemoryStream ms = new MemoryStream())
        {
            Document doc = new Document();
            PdfWriter writer = PdfWriter.GetInstance(doc, ms);

            doc.SetPageSize(PageSize.LETTER);
            doc.Open();
            PdfContentByte cb = writer.DirectContent;
            PdfImportedPage page;

            PdfReader reader;
            foreach (byte[] p in pdfByteContent)
            {
                reader = new PdfReader(p);
                int pages = reader.NumberOfPages;

                // loop over document pages
                for (int i = 1; i <= pages; i++)
                {
                    doc.SetPageSize(PageSize.LETTER);
                    doc.NewPage();
                    page = writer.GetImportedPage(reader, i);
                    cb.AddTemplate(page, 0, 0);

                }
            }

            doc.Close();
            allBytes = …
Run Code Online (Sandbox Code Playgroud)

.net c# itext

4
推荐指数
1
解决办法
1万
查看次数

PDF由ItextSharp合并

我怎么会合并多个PDF页面转换成一个与iTextSharp它同时还支持有合并的网页形式的元素,如textboxes,checkboxes等.

我通过谷歌搜索尝试了这么多,但没有什么运作良好.

c# itextsharp

1
推荐指数
1
解决办法
1万
查看次数

如何使用itextsharp向每个pdf页面添加页码

这就是我想要的,我想将页码添加到我动态生成的每个 pdf 页面中。

我使用了结束页方法,但即使我添加了文档下边距,它也没有成功。

我决定在从文件路径生成pdf后添加页码。这是我生成pdf的代码:

Document doc = new Document(iTextSharp.text.PageSize.LETTER, 10, 10, 42, 35);



            PdfWriter wri = PdfWriter.GetInstance(doc, new FileStream("t5.pdf", FileMode.Create));

            doc.Open();//Open Document to write

          iTextSharp.text.Font font8 = FontFactory.GetFont("ARIAL", 7);
            Paragraph paragraph = new Paragraph("Some content");
            doc.Add(paragraph);
                doc.Add(paragraph);// add paragraph to the document
                doc.Close();
                FileStream stream = File.OpenRead("t5.pdf");
                byte[] fileBytes = new byte[stream.Length];
                stream.Read(fileBytes, 0, fileBytes.Length);
                stream.Close();
                AddPageNumbers(fileBytes);
                using (Stream file = File.OpenWrite("t5.pdf")) 
                {
                    file.Write(fileBytes, 0, fileBytes.Length);
                }
            }
Run Code Online (Sandbox Code Playgroud)

她是我的添加页码方法:

MemoryStream ms = new MemoryStream();
        PdfReader reader = new PdfReader(pdf); …
Run Code Online (Sandbox Code Playgroud)

c# pdf pdf-generation itext

1
推荐指数
1
解决办法
7713
查看次数

标签 统计

c# ×4

itext ×2

itextsharp ×2

pdf ×2

.net ×1

asp.net ×1

pdf-generation ×1

rdlc ×1