Spire.PDF for .NET【页面设置】演示:向 PDF 添加平铺背景图像

平铺背景通常是指用一个或多个小图像重复填充的背景。在本文中,您将学习如何在 PDF 中平铺图像,并使用 C# 和 VB.NET 为您的 PDF 创建平铺背景。

Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。

E-iceblue 功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式

Spire.PDF for.net下载 

步骤 1:创建一个 PdfDocument 对象并加载示例 PDF 文档。

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("sample.pdf");

第 2 步:将图像文件加载到 PdfImage 对象。

PdfImage image = PdfImage.FromFile("logo.png");

步骤3:创建一个PdfTilingBrush对象,指定其大小,设置画笔的透明度,并在画笔的指定位置绘制图像。

PdfTilingBrush brush = new PdfTilingBrush(new SizeF(pdf.Pages[1].Canvas.Size.Width / 3, pdf.Pages[1].Canvas.Size.Height / 5));
brush.Graphics.SetTransparency(0.2f);
brush.Graphics.DrawImage(image,new PointF((brush.Size.Width-image.Width)/2,(brush.Size.Height-image.Height)/2));

步骤 4:使用画笔在 PDF 页面上绘制矩形。

pdf.Pages[1].Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.Canvas.Size));

步骤 5:保存文件。

pdf.SaveToFile("output.pdf");

输出

如何在 C#、VB.NET 中向 PDF 添加平铺背景图像

完整代码

[C#]

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;namespace Image
{
class Program
{
static void Main(string[] args)
{
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("sample.pdf");PdfImage image = PdfImage.FromFile("logo.png");
foreach (PdfPageBase page in pdf.Pages)
{
PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.Canvas.Size.Width / 3, page.Canvas.Size.Height / 5));
brush.Graphics.SetTransparency(0.2f);
brush.Graphics.DrawImage(image, new PointF((brush.Size.Width - image.Width) / 2, (brush.Size.Height - image.Height) / 2));
page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.Canvas.Size));
}
pdf.SaveToFile("output.pdf");
}
}
}

[VB.NET]

Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.DrawingNamespace Image
Class Program
Private Shared Sub Main(args As String())
Dim pdf As New PdfDocument()
pdf.LoadFromFile("sample.pdf")Dim image As PdfImage = PdfImage.FromFile("logo.png")
For Each page As PdfPageBase In pdf.Pages
Dim brush As New PdfTilingBrush(New SizeF(page.Canvas.Size.Width / 3, page.Canvas.Size.Height / 5))
brush.Graphics.SetTransparency(0.2F)
brush.Graphics.DrawImage(image, New PointF((brush.Size.Width - image.Width) / 2, (brush.Size.Height - image.Height) / 2))
page.Canvas.DrawRectangle(brush, New RectangleF(New PointF(0, 0), page.Canvas.Size))
Next
pdf.SaveToFile("output.pdf")
End Sub
End Class
End Namespace

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大带宽服务器和普通服务器相比较的优势

服务器作为各个企业线上业务中重要的网络设备,能够在网络中为其他客户机提供计算或者是应用服务,不同的应用场景中也会运用不同的服务器类型,本文就来为大家介绍一下大带宽服务器与普通服务器相比较来说的优势都有哪些! 大带宽服务…

如何通过设置失效时间清除本地存储的数据

一、使用localStorage和时间戳(JavaScript) 1. 原理 localStorage是浏览器提供的一种在本地存储数据的方式,数据没有过期时间限制。但是可以通过自己记录时间戳来模拟数据过期的功能。在存储数据时,同时存储一个时间戳&#xff…

ImageNet 2.0?自动驾驶数据集迎来自动标注新时代

引言: 3DGS因其渲染速度快和高质量的新视角合成而备受关注。一些研究人员尝试将3DGS应用于驾驶场景的重建。然而,这些方法通常依赖于多种数据类型,如深度图、3D框和移动物体的轨迹。此外,合成图像缺乏标注也限制了其在下游任务中的…

stm32 智能语音电梯系统

做了个stm32智能语音控制的电梯模型,总结一下功能,源码用ST的HAL库写的,整体流程分明。 实物图 这个是整个板子的图片,逻辑其实并不复杂,只是功能比较多,在我看来都是一些冗余的功能,但也可能是…

多模态论文笔记——CogVLM和CogVLM2

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍多模态模型的LoRA版本——CogVLM和CogVLM2。在SD 3中使用其作为captioner基准模型的原因和优势。 文章目录 CogVLM论文背景VLMs 的任务与挑战现有方法及…

【react】Redux的设计思想与工作原理

Redux 的设计理念 Redux 的设计采用了 Facebook 提出的 Flux 数据处理理念 在 Flux 中通过建立一个公共集中数据仓库 Store 进行管理,整体分成四个部分即: View (视图层)、Action (动作)、Dispatcher (派发器)、Stor…

PCB层叠结构设计

PCB层叠结构设计 层叠结构设计不合理完整性相关案例:在构成回流路径时,由于反焊盘的存在,使高速信号回流路径增长,造成信号回流路径阻抗不连续,对信号质量造成影响。 PCB层叠结构实物:由Core 和 Prepreg&a…

爬虫在分析网站结构时的注意事项及代码示例

在进行网络爬虫的开发时,准确分析目标网站的结构是至关重要的一步。这不仅关系到爬虫的效率和效果,还涉及到是否能够合法合规地获取数据。本文将探讨在分析网站结构时需要注意的几个关键点,并提供相应的代码示例。 1. 网站的响应方式 首先&…

LLM训练的数据以及流程,怎么微调

LLM训练的数据以及流程,怎么微调 训练数据来源 互联网文本:从网页、新闻文章、博客、论坛等收集大量的文本内容。例如,Common Crawl项目会定期抓取大量的网页数据,为LLM训练提供了丰富多样的文本来源,这些数据涵盖了各种领域和主题,如科技、文化、娱乐、政治等.书籍文献…

【Cesium】七、设置Cesium 加载时的初始视角

文章目录 一、前言二、实现方法2.1 获取点位、视角2.2 设置 三、App.vue 一、前言 在前面的文章 【Cesium】三、实现开场动画效果 中有提到过 虽然也能回到初始点位但是有一个明显的动画过程。下面方法加载时就是在初始点位 没有动画效果,根据需求选择。 本文参考…

Edge安装问题,安装后出现:Could not find Edge installation

解决:需要再安装(MicrosoftEdgeWebView2RuntimeInstallerX64)。 网址:https://developer.microsoft.com/zh-cn/microsoft-edge/webview2/?formMA13LH#download 如果已经安装了edge,那就再下载中间这个独立程序安装就…

日期时间选择(设置禁用状态)

目录 1.element文档需要 2.禁用所有过去的时间 3.设置指定日期的禁用时间 <template><div class"block"><span class"demonstration">起始日期时刻为 12:00:00</span><el-date-pickerv-model"value1"type"dat…

【《python爬虫入门教程11--重剑无峰168》】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 【《python爬虫入门教程11--selenium的安装与使用》】 前言selenium就是一个可以实现python自动化的模块 一、Chrome的版本查找&#xff1f;-- 如果用edge也是类似的1.chrome…

grep -nr递归过滤文本时,如何忽略node_modules目录

在使用 grep -nr 递归过滤文本时&#xff0c;如果需要忽略 node_modules 目录&#xff0c;可以使用 --exclude-dir 参数&#xff0c;具体方法如下&#xff1a; 方法 1&#xff1a;使用 grep --exclude-dir grep -nr "your_search_text" --exclude-dirnode_modules .…

Spring Boot 3 文件下载、多文件下载以及大文件分片下载、文件流处理、批量操作 和 分片技术

在 Spring Boot 3 中&#xff0c;实现文件下载、多文件下载以及大文件分片下载需要结合以下功能&#xff1a;文件流处理、批量操作 和 分片技术。以下是详细实现方案&#xff1a; 1. 单文件下载 基础的单文件下载实现&#xff0c;可以参考以下代码&#xff1a; GetMapping(&…

系统架构风险、敏感点和权衡点的理解

系统架构是软件开发过程中的关键环节&#xff0c;它决定了系统的可扩展性、稳定性、安全性和其他关键质量属性。然而&#xff0c;架构设计并非易事&#xff0c;其中涉及的风险、敏感点和权衡点需要仔细考虑和处理。本文将详细探讨系统架构风险、敏感点和权衡点的概念&#xff0…

locate() 在MySQL中的用法

语法&#xff1a; 在MySQL中&#xff0c;LOCATE() 是一个字符串函数&#xff0c;用于返回一个子字符串在另一个字符串中第一次出现的位置。如果子字符串不存在&#xff0c;则返回0。这个函数的语法如下&#xff1a; LOCATE(substring, string[, start])substring&#xff1a;…

智能电话机器人优势是什么

在当今数字化转型加速的背景下&#xff0c;智能电话机器人&#xff08;IVR&#xff09;作为客户服务和业务流程优化的重要工具&#xff0c;正逐渐成为企业提升运营效率和服务质量的关键组成部分。 提高服务效率与响应速度 智能电话机器人能够自动处理大量重复性的查询和事务&…

leetcode热题100(79. 单词搜索)dfs回溯 c++

链接&#xff1a;79. 单词搜索 - 力扣&#xff08;LeetCode&#xff09; 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的…

安全运营 -- splunk restapi 最小权限

0x00 背景 最小化权限原则&#xff0c;为每个功能&#xff0c;每个账户分配最小的权限。 0x01 实践 只需要7个 capability: Youll need to add certain capabilities to that user or that userss role(s).[capability::rest_apps_management] * Lets a user edit settings …