Мне нужно создать PDF-файл в памяти в веб-интерфейсе и отправить его. Я создаю PDF-файл и веб-интерфейс отправляем его, но не могу открыть его, как только получу.
Я действительно создаюPDF в виде байтового массива с этим:
private byte[] createPDF()
{
MemoryStream memStream = new MemoryStream();
byte[] pdfBytes;
Document doc = new Document(iTextSharp.text.PageSize.LETTER);
PdfWriter wri = PdfWriter.GetInstance(doc, memStream);
doc.AddTitle("test");
doc.AddCreator("I am");
doc.Open();//Open Document to write
Paragraph paragraph = new Paragraph("This is my first line using Paragraph.");
Phrase pharse = new Phrase("This is my second line using Pharse.");
Chunk chunk = new Chunk(" This is my third line using Chunk.");
doc.Add(paragraph);
doc.Add(pharse);
doc.Add(chunk);
pdfBytes = memStream.ToArray();
doc.Close(); //Close
return pdfBytes;
}
Этот метод вызывается методом в веб-интерфейсе, который отправляет PDF, и именно этот:
[HttpGet]
public HttpResponseMessage GetFiniquitopdf()
{
try
{
byte[] buffer = createPDF();
response = new HttpResponseMessage();
response.StatusCode = HttpStatusCode.OK;
response.Content = new StreamContent(new MemoryStream(buffer));
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
response.Content.Headers.ContentLength = buffer.Length;
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "myFirstPDF.pdf"
};
}
catch (Exception e)
{
response = Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e.Message);
}
return response;
}
Проблема в , когда PDF загружается, он бесполезен, не может быть открыт, я не понимаю, почему PDF не может быть открыт, я думал, что это была безопасность Windows10, поэтому после загрузкиЯ проверяю его как защищенный файл, но он все равно не открывается. Я думаю, что-то не так в том, как я его отправляю, или, может быть, мне не хватает чего-то в создании PDF-файла
заранее спасибо