c# - iText 7 从 Asp.Net WebApi 返回 Pdf
问题描述
所以我整天都在搜索这个,我只是不知道如何让它工作。基本上我想在我的 ASP.Net WebApi 中使用 iText 7 创建一个 PDF 服务器端。非常简单明了的 PDF 创建:
[HttpGet]
public HttpResponseMessage CreateLieferschein()
{
MemoryStream stream = new MemoryStream();
PdfWriter writer = new PdfWriter(stream);
var pdf = new PdfDocument(writer);
var document = new Document(pdf);
document.Add(new Paragraph("Hello World!"));
}
从这里开始,我不知道如何从控制器返回文件。我真的很感激任何帮助,因为我刚刚迷路了。
解决方案
我没有尝试过,只是徒手做,所以请耐心等待,但我认为您可以了解这里发生了什么。
public HttpResponseMessage CreateLieferschein() {
// Create the itext pdf
MemoryStream stream = new MemoryStream();
PdfWriter writer = new PdfWriter(stream);
var pdf = new PdfDocument(writer);
var document = new Document(pdf);
document.Add(new Paragraph("Hello World!"));
document.Close(); // don't forget to close or the doc will be corrupt! ;)
// Load the mem stream into a StreamContent
HttpResponseMessage httpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StreamContent(stream)
};
// Prep the response with headers, filenames, etc.
httpResponseMessage.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "WebApi2GeneratedFile.pdf"
};
httpResponseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
ResponseMessageResult responseMessageResult = ResponseMessage(httpResponseMessage);
// Cross your fingers...
return responseMessageResult;
}
推荐阅读
- c# - C#如何将datagridview的当前行复制到单个数据行?
- json - 如何使用键和值输出正确的结果?
- react-native - 在现有的 react native 项目中使用 redux 以及它对项目的影响
- mysql - #1054 - 同一表 mysql 版本 5.6.4 的子查询中的“where 子句”中的未知列“ats2”
- haxe - 可以制作名为“Map”的自定义类,并且仍然引用 Haxe“Map”类吗?
- visual-studio-2017 - 如何防止 vc_redist.x##.exe (VS2017) 由于挂起的重新启动而出现模棱两可的失败?
- html - 输入类型号默认为 0,但如果它从 1 开始,则在提交时进行验证
- docker - docker-compose 运行现有容器
- asp.net-mvc - 在日期之间执行搜索时出现 ASP .NET MVC 错误
- c# - 在 MouseEnter 中使用 while 循环