ASP.NETCore如何将上传的文件转换为PDF?
创始人
2024-09-18 06:00:09
0
  1. 首先,需要添加以下命名空间:

using iTextSharp.text; using iTextSharp.text.pdf; using System.IO;

  1. 然后,创建一个控制器方法,用于接收上传的文件和转换文件的代码:

[HttpPost] public IActionResult ConvertToPdf(IFormFile file) { // 获取文件名和文件扩展名 string fileName = Path.GetFileNameWithoutExtension(file.FileName); string extension = Path.GetExtension(file.FileName);

// 如果文件扩展名不是PDF,则转换为PDF
if (extension != ".pdf")
{
    // 创建新的PDF文件名
    string newFileName = fileName + ".pdf";

    // 创建PDF文档
    Document pdfDoc = new Document();

    // 为PDF文档添加页面
    pdfDoc.AddAuthor("Author Name");
    pdfDoc.AddTitle("Title");

    // 添加新页面
    pdfDoc.Open();

    // 读取上传的文件流并将其添加到PDF文档中
    using (var stream = new MemoryStream())
    {
        file.CopyTo(stream);
        PdfWriter.GetInstance(pdfDoc, stream);
        pdfDoc.Open();

        // 在PDF中添加上传的文件
        pdfDoc.Add(new Paragraph(fileName));

        pdfDoc.Close();
        byte[] content = stream.ToArray();
        return File(content, "application/pdf", newFileName);
    }
}

// 如果文件已经是PDF,则返回原始文件
using (var stream = new MemoryStream())
{
    file.CopyTo(stream);
    byte[] content = stream.ToArray();
    return File(content, "application/pdf", fileName);
}

}

这个控制器方法会判断上传的文件是否是PDF,如果不是PDF,则将它转换为PDF。

注意:需要将iTextSharp依赖项添加到项目中。

  1. 在View中添加上传表单

相关内容

热门资讯

透视辅助(aapoker外挂)... 透视辅助(aapoker外挂)菠萝德州偷偷看功能(详细辅助透视教程)切实是有挂;透视辅助(aapok...
透视透视(wepOke)透明挂... 1、透视透视(wepOke)透明挂辅助神器(wepoke有没有挂)往昔有挂(详细透视力荐教程)(UU...
微扑克辅助挂!wpk开挂实锤,... 微扑克辅助挂!wpk开挂实锤,(aa poker)果然真的有挂(详细透视透视教程);1分钟了解详细教...
透视科技(微扑克wpk透视辅助... 透视科技(微扑克wpk透视辅助)wepoke软件能玩吗(详细辅助2025新版总结)原来真的有挂是一款...
透视脚本(wepoKE)透视辅... 透视脚本(wepoKE)透视辅助代打(aapoker透明挂)总是真的有挂(详细透视AI教程);玩家必...
wepoke确实有挂!wepo... wepoke确实有挂!wepoke辅助软件下载,(WepoKe)确实有挂(详细辅助必胜教程);支持2...
透视模拟器(wepower有外... 透视模拟器(wepower有外挂)aapoker辅助工具(详细辅助技巧教程)其实存在有挂1、这是跨平...
aapoker透视辅助!微扑克... aapoker透视辅助!微扑克有假吗,(AApOKER)起初真的有挂(详细辅助系统教程);亲真的是有...
透视计算(WEPoke)透明挂... 1、透视计算(WEPoke)透明挂辅助软件(wepoke智能ai)其实是真的有挂(详细透视存在挂教程...
透视存在(德扑ai智能)德扑统... 透视存在(德扑ai智能)德扑统计软件(详细辅助科技教程)原本真的是有挂1、金币登录送、破产送、升级送...