C# 浏览器进行下载PDF

如何用C#写代码,浏览器进行下载服务器中PDF文件
有MemoryStream 流

img


 Document document = new Document(PageSize.A4.Rotate(), 70, 70, 70, 0);
 var memoryStream = new MemoryStream();
 PdfWriter pw = PdfWriter.GetInstance(document, memoryStream);
 document.Open();
// pdf内容生成...
byte[] fileByte = memoryStream.GetBuffer();
string fileName = Request.PhysicalApplicationPath +"1111.pdf";
FileStream fs = new FileStream(fileName, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(fileByte);
bw.Close();
 fs.Close();
 StringBuilder script = new StringBuilder();
 script.Append("<script type='text/javascript'> \n");
 script.AppendFormat("window.open ('../../pdf/{0}','newwindow','height=800,width=1200,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=yes,location=no, status=no') ", fileName);            
 script.Append("</script>");
ScriptManager.RegisterStartupScript(this,this.GetType(), "execSctipt_" + DateTime.Now.ToString("yyyyMMddHHmmss"),
                script.ToString(),false);

用itext 5 生成pdf

【以下回答由 GPT 生成】

首先,你可以通过以下步骤来实现使用C#编写代码,供浏览器下载服务器中的PDF文件:

  1. 创建一个WebAPI控制器或者一个ASP.NET MVC控制器来处理下载请求。
  2. 确保你已经引入了System.Web命名空间,以便使用HttpResponse类。
using System.Web;
  1. 在控制器中创建一个用于下载的方法。你可以使用下面的代码作为示例:
public HttpResponseMessage DownloadPDF()
{
    // 假设你已经拥有一个名为pdfStream的MemoryStream流
    MemoryStream pdfStream = GetPDFStream();

    // 创建一个HttpResponseMessage对象
    HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);

    // 设置ContentType为"application/pdf",以便浏览器知道返回的是PDF文件
    response.Content = new StreamContent(pdfStream);
    response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");

    // 设置文件下载的名称
    response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
    response.Content.Headers.ContentDisposition.FileName = "yourfilename.pdf";

    return response;
}
  1. 将该方法绑定到一个URL路由。如果你是使用ASP.NET MVC,你可以在RouteConfig.cs文件中添加一个路由配置。如果是WebAPI,你可以在WebApiConfig.cs中添加一个路由配置。
// 示例代码仅针对ASP.NET MVC
routes.MapRoute(
    name: "DownloadPDF",
    url: "DownloadPDF",
    defaults: new { controller = "YourControllerName", action = "DownloadPDF" }
);
  1. 通过访问该URL,就可以下载服务器中的PDF文件。

请注意,这只是使用C#编写代码实现下载服务器中的PDF文件的一种方式,具体实现可能会因项目需求而有所不同。如果你有特殊的项目需求,你可以根据具体情况进行修改和调整。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^