首页 > 编程语言 >ASP.NET Core 图片转 PDF

ASP.NET Core 图片转 PDF

时间:2024-03-25 15:48:29浏览次数:29  
标签:Core ASP image DocNET result PDF NET imageList 图片

前几天用 DocNET PDF转图片,现在再用 DocNET 把图片合并回PDF…


使用 DocNET: https://github.com/GowenGit/docnet


Nuget:

Install-Package Docnet.Core


合并比拆分简单:

        public static bool Images2Pdf(List<string> imageList, string outputPath)
        {
            bool result = false;
            try
            {
                using (var converter = DocLib.Instance)
                {
                    JpegImage[] files = new JpegImage[imageList.Count];
                    for (int i = 0; i < imageList.Count; i++)
                    {
                        using (Image image = Image.FromFile(imageList[i]))
                        {
                            files[i] = new JpegImage
                            {
                                Bytes = File.ReadAllBytes(imageList[i]),
                                Width = image.Width,
                                Height = image.Height
                            };
                        }
                    }
                    var bytes = converter.JpegToPdf(files);
                    File.WriteAllBytes(outputPath, bytes);
                }
                result = true;
            }
            catch (Exception e)
            {
                Console.WriteLine($"error:{e}");
            }
            return result;
        }


在控制器里调用合并成新的 PDF 文件(注意:DocNET 只支持将 JPG 图片合并为 PDF ,如果图片是 PNG 格式,生成的 PDF图片会是空白,对于 PNG 图片合并成 PDF,请使用其他的包,比如 iText 7 )

        public IActionResult Index()
        {
            List<string> imageList = new List<string>();
            for (int pageNumber = 1; pageNumber <= 14; pageNumber++)
            {
                imageList.Add($"F:\\pdf\\images\\Page_{pageNumber}.jpg");
            }
            bool result = PdfHelper.Images2Pdf(imageList, "F:\\pdf\\compressed.tracemonkey-pldi-13.pdf");
            return Content(result.ToString());
        }

标签:Core,ASP,image,DocNET,result,PDF,NET,imageList,图片
From: https://www.cnblogs.com/sun8134/p/18094489

相关文章

  • 在 .NET 中使用 OPC UA 协议
    目录什么是OPCUAUaExpert的使用下载UaExpert首次启动添加OPCUA服务器连接OPCUA服务器查看PLC数据使用C#读写OPCUA数据连接到OPCUA服务器获取节点的值写入节点的值什么是OPCUAOPCUA(OPCUnifiedArchitecture,开放平台通信统一架构)是OPC基金会应用在自动......
  • Deepin-DotnetSdk安装
    Linux-DotnetSdk安装1.1密钥下载sudowget-Uvhhttps://packages.microsoft.com/config/debian/10/packages-microsoft-prod1.2执行密钥双击:packages-microsoft-prod.deb更新:sudoapt-getupdate1.3安装SDKsudoapt-getinstalldotnet-sdk-8.0sudoapt-getinstalldotn......
  • .NET Emit 入门教程:第四部分:构建类型(Type)
    前言:在动态生成代码的过程中,构建类型(Type)是至关重要的一步。通过使用Emit中的TypeBuilder,我们可以定义和创建各种类型,包括类、结构体和接口。本节将深入探讨如何使用TypeBuilder动态构建类型,并介绍其在实际应用中的重要性。定义公用代码,生成程序集以供对照:通过学习本系......
  • 查询你的网络适配器是否支持虚拟 Wi-Fi 热点功能,Hosted network"(托管网络),
    "Hostednetwork"(托管网络)是一种Windows操作系统中的功能,它允许你将计算机或设备转换为一个虚拟的Wi-Fi热点,使其他设备可以连接到该热点来共享网络连接。这项功能通常用于无线网络共享、临时网络搭建或者将有线网络连接转换为无线网络连接的情况。为什么托管网络功能会被设计......
  • ASP.NET Core 切分、合并 PDF
    继续使用DocNET:https://github.com/GowenGit/docnetNuget:Install-PackageDocnet.Core切分PDF注意,DocNET的Split方法的索引是从0开始的,所以我们认为的获取PDF的第三到第五页,在DocNET的Split方法其实是从第二到第四页…publicstaticboolSplitPdf(string......
  • 什么是coredump
    什么是coredump介绍在Linux开发中,我们经常听到程序员说我的程序core掉了,通常出现这类的问题是低级bug中的内存访问越界、使用空指针、堆栈溢出等情况。使程序运行过程中异常退出或者终止,满足这些条件就会产生core的文件。为什么会发生CoredumpCore是内存的意思,这个......
  • 用了两周开源堡垒机OneTerm,我有一些建议
    上一篇文章分享了一款简洁且强大的开源堡垒机OneTerm,功能完善,代码简单,GO语言开发,用来学习很合适,拿来自用也没问题。堡垒机该有的核心功能基本都有了,方便与自有系统集成,我使用了两周,功能上没有什么大问题,但仍然发现了一些有待提升的地方,这篇文章从我个人使用的角度来写下我自己觉得......
  • 容器镜像加速指南:探索 Kubernetes 缓存最佳实践
    介绍将容器化应用程序部署到Kubernetes集群时,由于从registry中提取必要的容器镜像需要时间,因此可能会出现延迟。在应用程序需要横向扩展或处理高速实时数据的情况下,这种延迟尤其容易造成问题。幸运的是,有几种工具和策略可以改善Kubernetes中容器镜像的可用性和缓存。在本篇......
  • VS2022使用.Net Framework4.0方法
    从安装了低版本VS的电脑中C:\ProgramFiles(x86)\ReferenceAssemblies\Microsoft\Framework\.NETFramework\目录下复制.NetFramework4.0等需要的目标包 如果打开项目仍然需要升级目标包的,先升级,加载项目后仍可更改目标包为.NetFramework4.0 。 v4.0ReferenceAss......
  • dotNet符号文件(pdb),符号包(snupkg)和SourceLink
    前言本文的主题是VisualStudio调试NuGet包,以及符号包的概念,如何去发布一个NuGet包,让我们的NuGet包支持SouceLink,这些都是我们开发中比较容易忽视的内容,但是熟悉了以后可以让我们在调试中得心应手,也是开源项目开发的基础篇。demo源代码在文末pdb符号文件程序数......