C#实现PDF文件添加图片背景
作者:lijiao 发布时间:2022-04-03 20:45:35
标签:C#,PDF,图片背景
本文实例讲述了C#使用iTextSharp设置PDF所有页面背景图功能的方法。分享给大家供大家参考。具体如下:
在生成PDF 的时候,虽然可以在页面中设置背景图。
但有些内容过长夸页面的时候,就很难设置背景图,变成了空白背景的页面!
以下是重新生成每一页PDF背景图功能代码!
public void SetPdfBackground(string pdfFilePath)
{
//重新生成的 PDF 的路径
string destFile = HttpContext.Current.Server.MapPath("sample.pdf");
//create new pdf document
FileStream stream = new FileStream(destFile, FileMode.Create, FileAccess.ReadWrite);
PdfReader reader = new PdfReader(pdfFilePath);
//read pdf stream
PdfStamper stamper = new PdfStamper(reader, stream);
string imagePage = HttpContext.Current.Server.MapPath("../images/2012/bg2.png");
System.Drawing.Image image = System.Drawing.Image.FromFile(imagePage);
var img = Image.GetInstance(image, System.Drawing.Imaging.ImageFormat.Png);
img.SetAbsolutePosition(0, 0);
int totalPage = reader.NumberOfPages;
for (int current = 1; current <= totalPage; current++)
{
var canvas = stamper.GetUnderContent(current);
var page = stamper.GetImportedPage(reader, current);
canvas.AddImage(img);
}
stamper.Close();
reader.Close();
}
下面还是实现的是给PDF文件添加图片背景这个功能。PDF是近年来最流行的文件之一,无论是办公还是日常生活中都经常会用到,很多时候,PDF文件的背景色都是白色,看多了难免觉得累,更换PDF的背景不仅可以让眼睛看起来更舒服,还可以让PDF文件看上去更美观。如何实现?
作为一名程序猿,当然要亲自“操刀上阵”,主要写的是如何使用C# 给PDF文件添加图片背景。
首先准备的PDF文件,下面讲一下具体代码:
代码使用:
第一步:创建一个Visual C#控制台项目,添加引用并使用命名空间。
using System.Drawing;
using Spire.Pdf;
第二步:创建一个PDF文档对象,并加载源PDF文件。
PdfDocument doc = new PdfDocument();
doc.LoadFromFile("sample.pdf");
第三步:获取该PDF文件的第一页。
PdfPageBase page = doc.Pages[0];
第四步:加载图片并把它设置为页面背景。
Image backgroundImage = Image.FromFile("background.jpg");
page.BackgroundImage = backgroundImage;
第五步:保存文件并重新打开。
doc.SaveToFile("result.pdf");
System.Diagnostics.Process.Start("result.pdf");
放上全部代码:
using System.Drawing;
using Spire.Pdf;
namespace Add_image_background_to_PDF
{
class Program
{
static void Main(string[] args)
{
PdfDocument doc = new PdfDocument();
doc.LoadFromFile("sample.pdf");
PdfPageBase page = doc.Pages[0];
Image backgroundImage = Image.FromFile("background.jpg");
page.BackgroundImage = backgroundImage;
doc.SaveToFile("result.pdf");
System.Diagnostics.Process.Start("result.pdf");
}
}
}
总结:
PDF虽不是微软的办公软件,但却因为它有诸多优点,而被广泛使用。PDF本身相较于Word和Excel等文件更不容易被编辑,而需要借用其它的组件,在这个示例中我使用的是E-iceblue公司的免费PDF组件,就目前来看我想要的功能基本上都能满足,也比较方便。


猜你喜欢
- 本文实例为大家分享了C语言实现贪吃蛇小游戏的具体代码,供大家参考,具体内容如下程序介绍代码#include<stdafx.h>?
- 背景2022国家级护网行动即将开启,根据阿里云给出的安全建议,需要将登陆Linux的方式改为密钥对方式。我这里使用的远程工具是自己开发的,能
- 本文实例为大家分享了Android仿京东左侧分类条目效果的具体代码,供大家参考,具体内容如下import android.app.Activ
- 本文实例讲述了Java基于Tcp的基础聊天功能。分享给大家供大家参考,具体如下:最基础的聊天,用户端和服务器端每次说一句,而且严格规定了先后
- 本文实例为大家分享了C#15子游戏的实现代码,供大家参考,具体内容如下所需控件:一个Button,拖入Form1中即可。源码:using S
- SpringBoot @ComponentScan的使用SpringBoot的启动类中有一个@ComponentScan,之前项目由于这个注
- 了解JVM内存结构的目的在Java的开发过程中,因为有JVM自动内存管理机制,不再需要像在C、C++开发那样手动释放对象的内存空间,不容易出
- 前言在这一节为大家继续带来 Kotlin 中的一些高级的内容:Kotlin 中的 Kotlin 扩 展(Extensions)。Kotlin
- 在注册表启动项里添加一项,路径:SOFTWARE\Microsoft\Windows\CurrentVersion\Run或者直接:运行-&
- 废话不多说了,直奔主题了。需要两个jar包:commons-fileupload.jarCommons IO的jar包(本文使用common
- 排列组合是常见的数学问题,本文就以完整实例形式讲述了C#实现排列组合算法的方法。分享给大家供大家参考之用。具体方法如下:首先,数学中排列组合
- 最近公司因为短信接口被盗刷的比较严重,需要做一个类似于淘宝的滑动验证,用于特定环境,以增加一层保障。拿到需求首先想到的是自定义ViewGro
- 下面由我来给大家展示用spring aop实现 * 的例子(电脑打印)下面就看一下具体的代码:先定义一个打印机的接口package aop
- 简介:Android Studio是Android的官方IDE。它是专为Android而打造,可以加快您的开发速度,帮助您为每款Androi
- JACOB的方法,足可以解决这个问题,但是我既然以前曾经做过报表,就想尝试不同的方法。JACOB是一座连接JAVA和微软的桥,所有的解析由微
- 本文实例为大家分享了JavaWeb实现用户登录与注册的具体代码,供大家参考,具体内容如下所用知识客户端:HTML CSS JS (JQuer
- 异常与错误:异常:在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知
- Required String parameter xxx is not present类型异常异常报错学习Spring Boot的时候做一
- 每一个基于java的应用程序都有一个共同工作来展示给用户看到的内容作为工作的应用几个对象。当编写一个复杂的Java应用程序,应用程序类应该尽
- if判断integer的问题昨天在使用mybatis的if判断integer时遇见一个小问题:<if test="isCho