Hei çocuklar, pdf dosyasına dönüştürmek ve indirmek için mevcut olan bu bayt dizisine sahibim. Bunun nasıl yapıldığına dair bir fikri olan var mı?pdf Byte [] Array, iTextSharp kullanarak indirilebilir dosyaya dönüştürülür.
burada birkaç fark benzer bir kod kullanıyorum benim Eylem Kontrolör
public ActionResult DownloadLabTestResult(string labTestResultID)
{
PdfReader pdfReader = new PdfReader("Xue_Tang.pdf");
MemoryStream stream = new MemoryStream();
PdfStamper stamper = new PdfStamper(pdfReader, stream);
pdfReader.Close();
stamper.Close();
stream.Flush();
stream.Close();
byte[] pdfByte = stream.ToArray();
// So i got the byte array of the original pdf at this point. Now how do i convert this
// byte array to a downloadable pdf? i tried the method below but to no avail.
MemoryStream ms = new MemoryStream(pdfByte);
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=labtest.pdf");
Response.Buffer = true;
Response.Clear();
Response.OutputStream.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
Response.OutputStream.Flush();
Response.End();
return new FileStreamResult(Response.OutputStream, "application/pdf");
}
Diskte pdf dosyasına sahipseniz doğrudan FileStream ile okuyabilirsiniz. –
PdfStamper'a ihtiyacınız olsa bile, birçok akışa sahip olmanıza rağmen, "ms" buharına ihtiyacınız olmamalı, "akış" akışı yeterli olmalı, ancak kullanmadan önce onu kapatmamalısınız, " ms.Seek (0, SeekOrigin.Begin); " OutputStream'e eklemeden önce. –
oh Tabii her zaman yerel diskten okuyabiliyordum ama sadece burada bayt dizisi ile sağlanan bir şey simüle etmeye çalışıyorum ve işim yüklenebilir bir dosyaya dönüştürmek, bu hehe nasıl yapılacağını tam olarak bilmiyorum = p – Ari