Je génère pdf using itexsharp. Je crée MemoryStream, puis quand j'essaye d'écrire MemoryStream octets dans la réponse, mais pas de chance. Lorsque j'exécute ce code dans mon contrôleur, le pdf ne répond pas. Le flux de mémoire est populaitng correctement je peux voir ceci dans le débogueur, mais pour une raison quelconque ce nombre de butes ne venant pas en réponse.MVC. Itextsharp écrire pdf à la réponse
Voici mon code:
HttpContext.Current.Response.ContentType = "application/pdf";
...
using (Stream inputPdfStream = new FileStream(pdfFilePath, FileMode.Open, FileAccess.Read, FileShare.Read))
using (Stream outputPdfStream = new MemoryStream())
{
PdfReader reader = new PdfReader(inputPdfStream);
PdfStamper stamper = new PdfStamper(reader, outputPdfStream);
....
//try one
outputPdfStream.WriteTo(HttpContext.Current.Response.OutputStream); // NOT POPULATING Response
//try two
HttpContext.Current.Response.BinaryWrite(outputPdfStream.ToArray()); // NOT POPULATING Response Too
HttpContext.Current.Response.End();
}
Peut être quelqu'un a des idées?
Avez-vous quelque chose dans la réponse? – BlackICE
Oui, quelques octets, mais pas les octets de mon pdf – Cranik
J'aurais posté un exemple plus simple, n'incluant pas l'inputPdfStream qui est un autre fichier pdf donc ça mène à la confusion. Juste la sortie MemoryStream comme le flux pour l'instance de PdfWriter, un document.open(), un document.Add (..) et un document.close(). Puis la question se réduit à "Je veux envoyer dans la réponse le pdf contenu dans la sortie MemoryStream.Comment? ..." – mmutilva