当前位置: 代码网 > it编程>编程语言>C# > 基于C#实现将图片转换为PDF文档

基于C#实现将图片转换为PDF文档

2025年02月14日 C# 我要评论
介绍将图片(jpg、png)转换为pdf文件可以帮助我们更好地保存和分享图片。此外,pdf文件还具有强大的安全特性,将图片转换为pdf后,我们可以通过设置密码来文件内容不被泄露。本文将介绍如何将jpg

介绍

将图片(jpg、png)转换为pdf文件可以帮助我们更好地保存和分享图片。此外,pdf文件还具有强大的安全特性,将图片转换为pdf后,我们可以通过设置密码来文件内容不被泄露。本文将介绍如何将jpg/png图片转换为pdf文档。

此教程可以使用第三方免费库 free spire.pdf for .net,但需要注意该免费库有一定的页数限制。

开始前,我们可以通过以下链接下载产品包后手动添加引用,或者直接通过 nuget 安装。

https://www.e-iceblue.cn/downloads/free-spire-pdf-net.html

c# 将单张图片转换为pdf文档

free spire.pdf for .net提供的图片转pdf的方法是将加载的图片绘制到pdf页面上实现的,主要步骤如下:

  • 创建一个 pdf文档,然后将其页边距设置为0。
  • 使用 image.fromfile() 方法加载图片,然后获取图片的宽度和高度。
  • 通过 pdfdocument.pages.add() 方法添加一个与图片大小相同的pdf页面。
  • 根据图片创建 pdfimage 对象。
  • 使用 pdfpagebase.canvas.drawimage() 方法在pdf页面上绘制pdfimage对象。
  • 使用 pdfdocument.savetofile() 方法保存生成的 pdf 文档。

示例代码:

ing system.drawing;
using spire.pdf;
using spire.pdf.graphics;

namespace convertimagetopdfwithsamesize
{
    class program
    {
        static void main(string[] args)
        {
            //创建pdfdocument对象
            pdfdocument pdf = new pdfdocument();

            //将页边距设为0
            pdf.pagesettings.setmargins(0);

            //加载图片
            image image = image.fromfile(@"c:\users\administrator\desktop\work.jpg");

            //获取图片尺寸
            float width = image.physicaldimension.width;
            float height = image.physicaldimension.height;

            //创建pdfimage对象
            pdfimage pdfimage = pdfimage.fromfile(@"c:\users\administrator\desktop\work.jpg");

            //添加一个与图片大小相同的pdf页面
            pdfpagebase page = pdf.pages.add(new sizef(width, height));

            //在页面上绘制图片
            page.canvas.drawimage(pdfimage, 0, 0, pdfimage.width, pdfimage.height);

            //保存pdf
            pdf.savetofile("图片转pdf.pdf");
        }
    }
}

c# 将多张图片转换到一个pdf文档

free spire.pdf for .net也可以将一个文件夹中的多张图片绘制到一个pdf文档的不同页面上,主要步骤如下:

创建一个 pdf文档,然后将其页边距设置为0。

获取存储图片的文件夹。

遍历文件夹中的每个图像文件,并获取每一张图片的宽度和高度。

通过 pdfdocument.pages.add() 方法在pdf文档中添加与图片大小相同的pdf页面。

使用 pdfpagebase.canvas.drawimage() 方法在页面上绘制各个图片。

使用 pdfdocument.savetofile() 方法保存生成的pdf文档。

示例代码:

using spire.pdf;
using spire.pdf.graphics;
using system.drawing;
using system.io;

namespace convertmultipleimagesintopdf
{
    class program
    {
        static void main(string[] args)
        {
            //创建pdfdocument对象
            pdfdocument pdf = new pdfdocument();

            //将页边距设为0
            pdf.pagesettings.setmargins(0);

            //获取存储图片的文件夹
            directoryinfo folder = new directoryinfo(@"c:\users\administrator\desktop\图片");

            //遍历文件夹中的图片
            foreach (fileinfo file in folder.getfiles())
            {
                //加载图片
                image image = image.fromfile(file.fullname);

                //获取图片尺寸
                float width = image.physicaldimension.width;
                float height = image.physicaldimension.height;

                //添加与图片大小相同的pdf页面
                pdfpagebase page = pdf.pages.add(new sizef(width, height));

                //创建pdfimage对象
                pdfimage pdfimage = pdfimage.fromfile(file.fullname);

                //在页面上绘制图片
                page.canvas.drawimage(pdfimage, 0, 0, pdfimage.width, pdfimage.height);
            }

            //保存pdf
            pdf.savetofile("多图转pdf.pdf");
            pdf.dispose();
        }
    }
}

到此这篇关于基于c#实现将图片转换为pdf文档的文章就介绍到这了,更多相关c#图片转pdf内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com