Hei guys Ho questo array di byte che voglio convertire in pdf e renderlo disponibile per il download. Qualcuno ha idea di come sia fatto?Come convertire pdf Byte [] Array in file scaricabili usando iTextSharp
qui è il mio Action Controller
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");
}
Se si dispone del file PDF su disco, è possibile leggerlo direttamente con FileStream. –
Anche se hai bisogno di PdfStamper sembra che tu abbia molti stream, non dovresti aver bisogno del vapore "ms", il flusso "stream" dovrebbe essere sufficiente, ma non dovresti chiuderlo prima di usarlo, puoi provare " ms.Seek (0, SeekOrigin.Begin); " prima di aggiungerlo a OutputStream. –
oh ya potrei sempre leggere dal disco locale, ma sto solo cercando di simulare qualcosa qui dove sono fornito solo con l'array di byte e il mio lavoro è convertirlo in un file scaricabile, non so esattamente come farlo = p – Ari