将字节数组合并为pdf

MAK*_*MAK 2 c# pdf asp.net arrays

我有一个从 API 获得的字节数组。

byte[] sticker = db.call_API_print_sticker(Id);
Run Code Online (Sandbox Code Playgroud)

我必须多次调用这个方法,然后转换为pdf。我想将它存储在一个数组数组中,然后在拥有所有数组后将它们转换

我如何存储它,然后将字节数组 pdf 合并为一个。

小智 7

我使用 PDFSharp 作为 Nuget,编写了以下完全适用于字节数组的 C# 方法:

    public byte[] CombinePDFs(List<byte[]> srcPDFs)
    {
        using (var ms = new MemoryStream())
        {
            using (var resultPDF = new PdfDocument(ms))
            {
                foreach (var pdf in srcPDFs)
                {
                    using (var src = new MemoryStream(pdf))
                    {
                        using (var srcPDF = PdfReader.Open(src, PdfDocumentOpenMode.Import))
                        {
                            for (var i = 0; i < srcPDF.PageCount; i++)
                            {
                                resultPDF.AddPage(srcPDF.Pages[i]);
                            }
                        }
                    }
                }
                resultPDF.Save(ms);
                return ms.ToArray();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

因此,上述方法获取源 PDF 的数组列表并将它们组合起来,并返回结果 PDF 的单字节数组。