【发布时间】:2020-07-13 16:33:59
【问题描述】:
我正在使用带有 C# 的 Visual Studio 2019。当我尝试创建一个 pdf 文档时,它已成功创建,但是当它通过 Response 方法打开时,它显示错误消息“Acrobat reader 无法打开文件,因为它不受支持的文件类型”。
enter code here
我正在使用以下代码。
protected void Exportpdf()
{
string path = System.IO.Path.GetTempPath();
PdfWriter writer = new PdfWriter(path+ "\\Appointments" + DateTime.Now.ToString("ddMMyyyy") + ".pdf");
PdfDocument pdf = new PdfDocument(writer);
Document document = new Document(pdf, PageSize.A4);
Paragraph header = new Paragraph("MyTurns.in")
.SetTextAlignment(TextAlignment.CENTER)
.SetFontSize(20);
// New line
Paragraph newline = new Paragraph(new Text("\n"));
document.Add(newline);
document.Add(header);
// Add sub-header
Paragraph subheader = new Paragraph("Appointment List Date : " + DateTime.Now.ToString("dd/mm/yyyy"))
.SetTextAlignment(TextAlignment.CENTER)
.SetFontSize(15);
document.Add(subheader);
document.Close();
Response.Buffer = false;
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Appointments" + DateTime.Now.ToString("dd/MM/yyyy") + ".pdf");
Response.Write(document);
Response.End();
}
【问题讨论】:
-
好吧,我会把缓冲区写到一个文件中,看看你能不能打开它。但是,您需要使用 Respose.BinaryWrite(document) - 这应该可以工作。