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中添加上传表单

相关内容

热门资讯

玩家必备攻略!德州透视hhpo... 玩家必备攻略!德州透视hhpoker,wpk俱乐部是做什么的,真是是真的有挂(有挂秘诀)所有人都在同...
9分钟了解!拱趴大菠萝有什么挂... 9分钟了解!拱趴大菠萝有什么挂,hhpoker免费辅助器,本来真的有挂(竟然有挂)9分钟了解!拱趴大...
每日必备!德州局透视,如何判断... 每日必备!德州局透视,如何判断wpk辅助软件的真假,真是存在有挂(有挂存在)1、下载好脚本下载之后点...
推荐十款!hhpoker智能辅... 推荐十款!hhpoker智能辅助插件,hhpoker免费透视脚本,好像是有挂(发现有挂)1、游戏颠覆...
普及知识!哈糖大菠萝有挂吗,a... 普及知识!哈糖大菠萝有挂吗,aa poker透视软件,好像真的有挂(有挂实锤)1、金币登录送、破产送...
我来教教你!wpk辅助插件,佛... 我来教教你!wpk辅助插件,佛手在线大菠萝辅助,本来存在有挂(有挂透视)运佛手在线大菠萝辅助辅助工具...
分辨真假!pokernow辅助... 分辨真假!pokernow辅助控制,wepoker好友助力码,一贯有挂(有挂分析)小薇(辅助器软件下...
最新技巧!fishpoker透... 最新技巧!fishpoker透视底牌,wpk透视辅助靠谱吗,总是是真的有挂(有挂秘笈)1、最新技巧!...
三分钟了解!wpk有作弊吗,有... 三分钟了解!wpk有作弊吗,有哪些免费的wpk作弊码,总是真的是有挂(有挂细节)在进入软件靠谱后,参...
带你了解!wpk私人局辅助是真... 带你了解!wpk私人局辅助是真的吗,sohoo辅助,总是真的是有挂(证实有挂)1、玩家可以在线上大神...