iTextSharpを使用してMVCでPDFファイルを作成しようとしています。私は次の簡単な使用例を持っています。ファイルは作成されていますが、PDFを開くと、エラーファイルが破損してファイルを開くことができません。何かアイデア/ヘルプ?
私のコントローラーコードは次のとおりです
public FileStreamResult GetPdfMemory()
{
iTextSharp.text.Document doc = new iTextSharp.text.Document();
MemoryStream mem = new MemoryStream();
PdfWriter pdfWriter = PdfWriter.GetInstance(doc, mem);
//pdfWriter.CloseStream = false;
doc.Open();
doc.Add(new Paragraph("Charts"));
mem.Position = 0;
FileStreamResult fileStreamResult = new FileStreamResult(mem, System.Net.Mime.MediaTypeNames.Application.Pdf)
{
FileDownloadName = "chart_" + ".PDF"
};
return fileStreamResult;
}
ビュー:@ Html.ActionLink( "Pdf Memory"、 "GetPdfMemory"、 "Home"、null、new {id = "download"})
参考:MemoryStreamの代わりにFileStreamを使用しようとすると、すべて正常に機能します。しかし、メモリストリームを使用してPDFを作成する必要があります。