Spire.PDF for .NET【页面设置】演示:在 C# 中应用 PDF 页面转换

当您在导出为 PDF 格式的文档中翻页时,页面过渡会显示装饰效果,例如溶解或擦除。当您以 PDF 格式创建幻灯片时,页面过渡特别有用。Spire.PDF是一款专为开发人员设计的强大 .NET 组件,可让您将页面过渡应用于 PDF 文件。

这里介绍一种解决方案,展示如何使用 Spire.PDF 将页面过渡应用于 PDF。Spire.PDF 为您提供了一个名为 PdfSection 的类。PdfSection 有一个名为 PageSettings 的属性。PageSettings 有一个名为 Transition 的属性。您可以使用此属性来应用页面过渡。

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

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

步骤 1:创建一个新的部分。

复制代码
PdfSection section = doc.Sections.Add();
section.PageSettings.Size = PdfPageSize.A4;

第 2 步:创建一个新的 PdfPageTransition 实例。

复制代码
section.PageSettings.Transition = new PdfPageTransition();

步骤3:设置页面转场的风格。

复制代码
section.PageSettings.Transition.Style = PdfTransitionStyle.Fade;

您可以将 PdfTransitionStyle 中定义的任何值分配给 Style。

步骤 4:设置过渡效果的持续时间(以秒为单位)。

复制代码
section.PageSettings.Transition.Duration = 3;

第五步:设置页面的显示时长。

复制代码
section.PageSettings.Transition.PageDuration = 2;

步骤 6:添加更多部分并应用更多页面转换。

复制代码
section = doc.Sections.Add();
section.PageSettings.Size = PdfPageSize.A4;
section.PageSettings.Transition = new PdfPageTransition();
section.PageSettings.Transition.Style = PdfTransitionStyle.Box;
section.PageSettings.Transition.Motion = PdfTransitionMotion.Outward;
section.PageSettings.Transition.Duration = 3;
section.PageSettings.Transition.PageDuration = 2;

您可以将PdfPageTransition的类型与PdfPageTransition的Direction属性和Dimension属性结合起来,创建新的、灵活的页面过渡。例如,在这一步中,页面过渡的Style为PdfTransitionStyle.Box,页面过渡的Motion为PdfTransitionMotion.Outward。

最后,保存文件。

复制代码
doc.SaveToFile("result.pdf");

要查看 PDF 中的页面转换,请以全屏模式打开 PDF 文件。

完整代码如下:

复制代码
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace PageTransitions
{
class Program
{
static void Main(string[] args)
{
PdfDocument doc = new PdfDocument();

PdfSection section = doc.Sections.Add();
section.PageSettings.Size = PdfPageSize.A4;
section.PageSettings.Transition = new PdfPageTransition();
section.PageSettings.Transition.Style = PdfTransitionStyle.Fade;
section.PageSettings.Transition.Duration = 3;
section.PageSettings.Transition.PageDuration = 2;

PdfNewPage page = section.Pages.Add();
page.BackgroundColor = Color.Blue;
page.Canvas.DrawString("This is Page One.", new PdfFont(PdfFontFamily.Helvetica, 20f), new PdfSolidBrush(Color.Black), 10, 10);

page = section.Pages.Add();
page.BackgroundColor = Color.Green;
page.Canvas.DrawString("This is Page Two.", new PdfFont(PdfFontFamily.Helvetica, 20f), new PdfSolidBrush(Color.Black), 10, 10);

section = doc.Sections.Add();
section.PageSettings.Size = PdfPageSize.A4;
section.PageSettings.Transition = new PdfPageTransition();
section.PageSettings.Transition.Style = PdfTransitionStyle.Box;
section.PageSettings.Transition.Motion = PdfTransitionMotion.Outward;
section.PageSettings.Transition.Duration = 3;
section.PageSettings.Transition.PageDuration = 2;

page = section.Pages.Add();
page.BackgroundColor = Color.Orange;
page.Canvas.DrawString("This is Page Three.", new PdfFont(PdfFontFamily.Helvetica, 20f), new PdfSolidBrush(Color.Black), 10, 10);

page = section.Pages.Add();
page.BackgroundColor = Color.Brown;
page.Canvas.DrawString("This is Page Four.", new PdfFont(PdfFontFamily.Helvetica, 20f), new PdfSolidBrush(Color.Black), 10, 10);

section = doc.Sections.Add();
section.PageSettings.Size = PdfPageSize.A4;
section.PageSettings.Transition = new PdfPageTransition();
section.PageSettings.Transition.Duration = 3;
section.PageSettings.Transition.Style = PdfTransitionStyle.Dissolve;
section.PageSettings.Transition.PageDuration = 2;

page = section.Pages.Add();
page.BackgroundColor = Color.Orange;
page.Canvas.DrawString("This is Page Five.", new PdfFont(PdfFontFamily.Helvetica, 20f), new PdfSolidBrush(Color.Black), 10, 10);

page = section.Pages.Add();
page.BackgroundColor = Color.Navy;
page.Canvas.DrawString("This is Page Six.", new PdfFont(PdfFontFamily.Helvetica, 20f), new PdfSolidBrush(Color.Black), 10, 10);

doc.SaveToFile("result.pdf");
doc.Close();
}
}
}
相关推荐
豹哥学前端17 小时前
用猜数字游戏,一口气掌握 JavaScript 核心知识点(附完整代码)
前端·javascript
忆往wu前17 小时前
从0到1一步步拆解搭建,梳理一个 Vue3 简易图书后台全开发流程
前端·javascript·vue.js
木斯佳18 小时前
前端八股文面经大全:字节抖音前端三面(2026-04-27)·面经深度解析
前端·面试·笔试·八股·面经
小怪吴吴18 小时前
idea 开发Android
android·java·intellij-idea
嘻嘻哈哈樱桃18 小时前
牛客经典101题题解集--动态规划
java·数据结构·python·算法·职场和发展·动态规划
shao91851618 小时前
第3章(2)——使用Gradio JavaScript Client
javascript·node.js·cdn·gradio·job·events·playcode
一次旅行18 小时前
IDEA安装CC GUI新手指南
java·ide·intellij-idea
光影少年18 小时前
大屏页面,一次多个请求,请求加密导致 点击 全局时间选择器 时出现卡顿咋解决(面板收起会延迟1~2秒)
前端·javascript·vue.js·学习·前端框架·echarts·reactjs
超梦dasgg18 小时前
Spring AI 智能航空助手项目实战
java·人工智能·后端·spring·ai编程
Mr.mjw18 小时前
vue中封装一个环形进度条组件,根据外部盒子大小自适应变化
前端·javascript·vue.js