使用C#或asp.net使用Append bytes[]将多个Pdf合并为单个Pdf
问题:使用C#或asp.net使用Append bytes[]将多个Pdf合并为单个Pdf,c#,asp.net,C#,Asp.net,问题: 我的数据表中有字节数组 每个字节[]都是一个订单的单个pdf文件 我只想将所有这些pdfbyte[]放在单个文件的byte[]中 我只想把它保存到浏览器中 我可以实现附加字节[],但它将创建一个字节[]数据作为pdf格式 下面是我在控制台应用程序中所做的示例,实际上我希望在我的web应用程序中使用它 这是我的密码: public void NewPdf(string[] Pdf) { byte[] newPdf; MemoryStream ms = new Memory
字节[]
都是一个订单的单个pdf文件byte[]
放在单个文件的byte[]
中字节[]
,但它将创建一个字节[]
数据作为pdf格式
下面是我在控制台应用程序中所做的示例,实际上我希望在我的web应用程序中使用它
这是我的密码:
public void NewPdf(string[] Pdf)
{
byte[] newPdf;
MemoryStream ms = new MemoryStream();
foreach (var onepdf in Pdf)
{
newPdf = System.IO.File.ReadAllBytes(onepdf);
//newPdf=System.Convert.FromBase64String(onepdf);
// int resultPdf = newPdf.Length;
// ms.Write(newPdf, 0, newPdf.Length);
// var ms = new MemoryStream(new byte[resultPdf], 0, resultPdf, true, true);
ms.Write(newPdf, 0, newPdf.Length);
//ms.Write(baadF00d, 0, baadF00d.Length);
//System.Buffer.BlockCopy(newPdf, 0, resultPdf, 0, newPdf.Length);
}
byte[] merged = ms.GetBuffer();
// File.WriteAllBytes("testpdf.pdf", merged);
PdfReader reader = new PdfReader(merged);
int n = reader.NumberOfPages;
Document document = new Document(reader.GetPageSizeWithRotation(1));
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("thugs.pdf", FileMode.Create));
document.Open();
PdfContentByte cb = writer.DirectContent;
PdfImportedPage page;
int rotation;
int i = 0;
while (i < n)
{
i++;
document.SetPageSize(reader.GetPageSizeWithRotation(i));
document.NewPage();
page = writer.GetImportedPage(reader, i);
rotation = reader.GetPageRotation(i);
if (rotation == 90 || rotation == 270)
{
cb.AddTemplate(page, 0, -1f, 1f, 0, 0, reader.GetPageSizeWithRotation(i).Height);
}
else
{
cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
}
}
reader = new PdfReader(merged);
// we retrieve the total number of pages
n = reader.NumberOfPages;
document.Close();
}
你的问题是什么还不清楚。您想知道如何在MVC2中通过浏览器返回文件吗?或者合并PDF文件时遇到问题?我想将两个PDF字节[]合并为一个PDF,并使用mvc2返回文件
return File(bytes, mimeType);