C#/VB.NET实现在PDF文档中插入,替换或删除图片

 更新时间:2023年12月17日 09:09:13   作者:E-iceblue  
这篇文章主要为大家详细介绍了如何使用 Spire.PDF for .NET 通过程序在 PDF 文档中插入、替换或删除图片,感兴趣的小伙伴可以跟随小编一起学习一下

与仅使用文字创建的 PDF 文档相比,包含图片的 PDF 文档对读者无疑会有更大的吸引力。除了美化文档,我们还可以通过插入图片的方式来展示数据或表达用文字难以描述的内容,让复杂的数据、概念等内容更直观、更容易理解。本文将展示如何使用 Spire.PDF for .NET 通过程序在 PDF 文档中插入、替换或删除图片

安装 Spire.PDF for .NET

首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。

PM> Install-Package Spire.PDF

插入图片到 PDF 文档

使用 Spire.PDF for .NET 插入图片到 PDF 文档时,需要先用 PdfImage.FromFile() 方法载入图片文件,再用 PdfPageBase.Canvas.DrawImage() 方法将图片绘制在页面上的指定位置。详细操作步骤如下:

  • 创建一个 PdfDocument 的对象。
  • 使用 PdfDocument.LoadFromFile() 方法载入 PDF 文档。
  • 使用 PdfDocument.Pages[] 属性获取指定页面。
  • 使用 PdfImage.FromFile() 方法载入图片。
  • 设置绘制图片的区域大小。
  • 设置绘制图片的起始坐标。
  • 使用 PdfPageBase.Canvas.DrawImage() 方法将图片绘制在页面上。
  • 使用 PdfDocument.SaveToFile() 方法保存文档。

C#

using Spire.Pdf;
using Spire.Pdf.Graphics;

namespace InsertImage
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个PdfDocument的对象
            PdfDocument pdf = new PdfDocument();

            //载入PDF文档
            pdf.LoadFromFile("示例文档.pdf");

            //获取文档第一页
            PdfPageBase page = pdf.Pages[0];

            //载入图片
            PdfImage image = PdfImage.FromFile("图片.jpg");

            //设置绘制图片的区域大小
            float width = image.Width;
            float height = image.Height;

            //设置绘制图片的初始位置
            float x = page.ActualSize.Width/2 - image.Width/2;
            float y = 180;

            //将图片绘制在页面上
            page.Canvas.DrawImage(image, x, y, width, height);

            //保存文档
            pdf.SaveToFile("插入图片.pdf", FileFormat.PDF);
        }
    }
}

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Graphics

Namespace InsertImage
    Class Program
        Shared Sub Main(ByVal args() As String)
            '创建一个PdfDocument的对象
            Dim pdf As PdfDocument = New PdfDocument()

            '载入PDF文档
            pdf.LoadFromFile("示例文档.pdf")

            '获取文档第一页
            Dim page As PdfPageBase = pdf.Pages(0)

            '载入图片
            Dim image As PdfImage = PdfImage.FromFile("图片.jpg")

            '设置绘制图片的区域大小
            Dim width As Single = image.Width
            Dim height As Single = image.Height

            '设置绘制图片的初始位置
            Dim x As Single = page.ActualSize.Width / 2 - image.Width / 2
            Dim y As Single = 180

            '将图片绘制在页面上
            page.Canvas.DrawImage(image, x, y, width, height)

            '保存文档
            pdf.SaveToFile("插入图片.pdf", FileFormat.PDF)
        End Sub
    End Class
End Namespace

效果图

替换 PDF 文档中的图片

Spire.PDF for .NET 提供 PdfImageHelper.ReplaceImage() 方法可以替换 PDF 文档中的图片。一下是用新图片替换 PDF 文档中的图片的详细操作步骤:

  • 创建一个 PdfDocument 的对象。
  • 使用 PdfDocument.LoadFromFile() 方法载入 PDF 文档。
  • 使用 PdfDocument.Pages[] 属性获取文档第一页。
  • 使用 PdfImage.FromFile() 方法载入图片。
  • 创建 PdfImageHelper 的对象。
  • 使用 PdfImageHelper.GetImagesInfo() 方法获取第一页的图片信息。
  • 使用 PdfImageHelper.ReplaceImage() 方法替换页面第一张图片为载入的图片。
  • 使用 PdfDocument.SaveToFile() 方法保存文档。

C#

using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Utilities;

namespace ReplaceImage
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个PdfDocument的对象
            PdfDocument doc = new PdfDocument();

            //载入PDF文档
            doc.LoadFromFile("插入图片.pdf");

            //获取文档第一页
            PdfPageBase page = doc.Pages[0];

            //载入图片
            PdfImage image = PdfImage.FromFile("图片一.jpg");

            //创建一个PdfImageHelper的对象
            PdfImageHelper imageHelper = new PdfImageHelper();

            //获取第一页的图片信息
            PdfImageInfo[] imageInfo = imageHelper.GetImagesInfo(page);

            //用载入的图片替换第一页的第一张图片
            imageHelper.ReplaceImage(imageInfo[0], image);

            //保存文档
            doc.SaveToFile("替换图片.pdf", FileFormat.PDF);
        }
    }
}

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports Spire.Pdf.Utilities

Namespace ReplaceImage
    Class Program
        Shared Sub Main(ByVal args() As String)
            '创建一个PdfDocument的对象
            Dim doc As PdfDocument = New PdfDocument()

            '载入PDF文档
            doc.LoadFromFile("插入图片.pdf")

            '获取文档第一页
            Dim page As PdfPageBase = doc.Pages(0)

            '载入图片
            Dim image As PdfImage = PdfImage.FromFile("图片一.jpg")

            '创建一个PdfImageHelper的对象
            Dim imageHelper As PdfImageHelper = New PdfImageHelper()

            '获取第一页的图片信息
            Dim imageInfo() As PdfImageInfo = imageHelper.GetImagesInfo(page)

            '用载入的图片替换第一页的第一张图片
            imageHelper.ReplaceImage(imageInfo(0), image)

            '保存文档
            doc.SaveToFile("替换图片.pdf", FileFormat.PDF)
        End Sub
    End Class
End Namespace

效果图

删除 PDF 文档中的图片

Spire.PDF for .NET 提供了 PdfPageBase.DeleteImage() 方法来删除 PDF页面中的指定图片。删除图片的详细操作步骤如下:

  • 创建一个 PdfDocument 的对象。
  • 使用 PdfDocument.LoadFromFile() 方法载入 PDF 文档。
  • 使用 PdfDocument.Pages[] 属性获取文档第一页。
  • 使用 PdfPageBase.DeleteImage() 方法删除第一页第一张图片。
  • 使用 PdfDocument.SaveToFile() 方法保存文档。

C#

using Spire.Pdf;

namespace DeleteImage
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个PdfDocument的对象
            PdfDocument pdf = new PdfDocument();

            //载入PDF文档
            pdf.LoadFromFile("插入图片.pdf");

            //获取第一页
            PdfPageBase page = pdf.Pages[0];

            //删除第一页的第一张图片
            page.DeleteImage(0);

            //保存文档
            pdf.SaveToFile("删除图片.pdf", FileFormat.PDF);
        }
    }
}

VB.NET

Imports Spire.Pdf

Namespace DeleteImage
    Class Program
        Shared Sub Main(ByVal args() As String)
            '创建一个PdfDocument的对象
            Dim pdf As PdfDocument = New PdfDocument()

            '载入PDF文档
            pdf.LoadFromFile("插入图片.pdf")

            '获取第一页
            Dim page As PdfPageBase = pdf.Pages(0)

            '删除第一页的第一张图片
            page.DeleteImage(0)

            '保存文档
            pdf.SaveToFile("删除图片.pdf", FileFormat.PDF)
        End Sub
    End Class
End Namespace

效果图

到此这篇关于C#/VB.NET实现在PDF文档中插入,替换或删除图片的文章就介绍到这了,更多相关C# PDF图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Barrier来控制线程同步示例

    使用Barrier来控制线程同步示例

    这篇文章主要介绍了使用Barrier来控制线程同步示例,需要的朋友可以参考下
    2014-04-04
  • .Net Winform开发笔记(四)透过现象看本质

    .Net Winform开发笔记(四)透过现象看本质

    本文将从Winform应用程序中的Program.cs文件的第一行代码开始逐步分析一个Winform应用程序到底是怎样从出生走向死亡
    2013-01-01
  • C# 16 进制字符串转 int的方法

    C# 16 进制字符串转 int的方法

    这篇文章主要介绍了C# 16 进制字符串转 int的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-04-04
  • C# 下载文件 删除文件 写入文本的实例

    C# 下载文件 删除文件 写入文本的实例

    下面小编就为大家分享一篇C# 下载文件 删除文件 写入文本的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • C#使用iTextSharp添加PDF水印

    C#使用iTextSharp添加PDF水印

    这篇文章主要为大家详细介绍了C#使用iTextSharp添加PDF水印的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • C#/VB.NET 实现在PDF表格中添加条形码

    C#/VB.NET 实现在PDF表格中添加条形码

    条码的应用已深入生活和工作的方方面面。在处理条码时,常需要和各种文档格式相结合。本文,以操作PDF文件为例,介绍如何在编辑表格时,向单元格中插入条形码,需要的可以参考一下
    2022-06-06
  • Unity C#打包AssetBundle与场景详解

    Unity C#打包AssetBundle与场景详解

    这篇文章主要给大家介绍了关于Unity C#打包AssetBundle与场景的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • C#实现俄罗斯方块

    C#实现俄罗斯方块

    这篇文章主要为大家详细介绍了C#实现俄罗斯方块小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • C#内置泛型委托之Action委托

    C#内置泛型委托之Action委托

    这篇文章介绍了C#内置泛型委托之Action委托的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • 解析c#显示友好时间的实现代码

    解析c#显示友好时间的实现代码

    本篇文章是对c#中显示友好时间的实现代码进行了介绍,需要的朋友参考下
    2013-05-05

最新评论