Spire.PDF for .NET【文档操作】演示:将PDF拆分为多个PDF文件

news2024/11/29 18:41:18

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

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

Spire.PDF for.net下载   Spire.PDF for java下载

安装适用于 .NET 的 Spire.PDF

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

PM> Install-Package Spire.PDF
使用 C#、VB.NET 将 PDF 拆分为一页 PDF

Spire.PDF提供Split()方法将多页PDF文档分割成多个单页文件。以下是详细步骤。

  • 创建一个PdfDcoument对象。
  • 使用PdfDocument.LoadFromFile()方法加载 PDF 文档。
  • 使用PdfDocument.Split(string destFilePattern, int startNumber)方法将文档拆分为一页 PDF 。

[C#]

using System;
using Spire.Pdf;

namespace SplitPDFIntoIndividualPages
{
class Program
{
static void Main(string[] args)
{
//Specify the input file path
String inputFile = "C:\\Users\\Administrator\\Desktop\\Terms of Service.pdf";

//Specify the output directory
String outputDirectory = "C:\\Users\\Administrator\\Desktop\\Output\\";

//Create a PdfDocument object
PdfDocument doc = new PdfDocument();

//Load a PDF file
doc.LoadFromFile(inputFile);

//Split the PDF to one-page PDFs
doc.Split(outputDirectory + "output-{0}.pdf", 1);
}
}
}

【VB.NET】

Imports System
Imports Spire.Pdf

Namespace SplitPDFIntoIndividualPages
Class Program
Shared Sub Main(ByVal args() As String)
'Specify the path of the input file
Dim inputFile As String = "C:\\Users\\Administrator\\Desktop\\Terms of Service.pdf"

'Specify the output directory
Dim outputDirectory As String = "C:\\Users\\Administrator\\Desktop\\Output\\"

'Create a PdfDocument object
Dim doc As PdfDocument = New PdfDocument()

'Load a PDF file
doc.LoadFromFile(inputFile)

'Split the PDF to one-page PDFs
doc.Split(outputDirectory + "output-{0}.pdf", 1)
End Sub
End Class
End Namespace

C#/VB.NET:将 PDF 拆分为单独的 PDF

在 C#、VB.NET 中按页面范围拆分 PDF

没有提供按页面范围拆分 PDF 文档的直接方法。为此,我们创建两个或多个新的 PDF 文档,并将源文档中的页面或页面范围导入到其中。以下是详细步骤。

  • 初始化PdfDocument对象时加载源 PDF 文件。
  • 创建两个额外的PdfDocument对象。
  • 使用PdfDocument.InsertPage()方法将第一页从源文件导入到第一个文档。
  • 使用PdfDocument.InsertPageRange()方法将剩余页面从源文件导入到第二个文档。
  • 使用PdfDocument.SaveToFile()方法将两个文档保存为单独的 PDF 文件。

[C#]

using Spire.Pdf;
using System;

namespace SplitPdfByPageRanges
{
class Program
{
static void Main(string[] args)
{
//Specify the input file path
String inputFile = "C:\\Users\\Administrator\\Desktop\\Terms of Service.pdf";

//Specify the output directory
String outputDirectory = "C:\\Users\\Administrator\\Desktop\\Output\\";

//Load the source PDF file while initialing the PdfDocument object
PdfDocument sourceDoc = new PdfDocument(inputFile);

//Create two additional PdfDocument objects
PdfDocument newDoc_1 = new PdfDocument();
PdfDocument newDoc_2 = new PdfDocument();

//Insert the first page of source file to the first document
newDoc_1.InsertPage(sourceDoc, 0);

//Insert the rest pages of source file to the second document
newDoc_2.InsertPageRange(sourceDoc, 1, sourceDoc.Pages.Count - 1);

//Save the two documents as PDF files
newDoc_1.SaveToFile(outputDirectory + "output-1.pdf");
newDoc_2.SaveToFile(outputDirectory + "output-2.pdf");
}
}
}

【VB.NET】

Imports Spire.Pdf
Imports System

Namespace SplitPdfByPageRanges
Class Program
Shared Sub Main(ByVal args() As String)
'Specify the input file path
Dim inputFile As String = "C:\\Users\\Administrator\\Desktop\\Terms of Service.pdf"

'Specify the output directory
Dim outputDirectory As String = "C:\\Users\\Administrator\\Desktop\\Output\\"

'Load the source PDF file while initialing the PdfDocument object
Dim sourceDoc As PdfDocument = New PdfDocument(inputFile)

'Create two additional PdfDocument objects
Dim NewDoc_1 As PdfDocument = New PdfDocument()
Dim NewDoc_2 As PdfDocument = New PdfDocument()

'Insert the first page of source file to the first document
NewDoc_1.InsertPage(sourceDoc, 0)

'Insert the rest pages of source file to the second document
NewDoc_2.InsertPageRange(sourceDoc, 1, sourceDoc.Pages.Count - 1)

'Save the two documents as PDF files
NewDoc_1.SaveToFile(outputDirectory + "output-1.pdf")
NewDoc_2.SaveToFile(outputDirectory + "output-2.pdf")
End Sub
End Class
End Namespace

C#/VB.NET:将 PDF 拆分为单独的 PDF

以上便是如何将PDF拆分为多个PDF文件,如果您有其他问题也可以继续浏览本系列文章,获取相关教程~

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

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

相关文章

基于Springcloud+Vue校园招聘系统 Eureka分布式微服务

以行动研究为主,辅以文献法、教育实验法和个案研究法等方法相结合的研究方法。在研究方法,遵循软件工程中软件生命周期的规则。概括来讲可以划分成三大步:系统规划、系统开发和系统运行维护。将其上述步骤细分下来,可以分为以下8小…

[Qt学习笔记]Qt实现鼠标点击或移动时改变鼠标的样式以及自定义鼠标样式

1、鼠标样式介绍以及对应函数 在Qt中大概有20种左右的内置鼠标样式,一般使用setCursor(Qt::CursorShape shape)来进行设置,一般常用的有标准箭头、手型,双箭头等等形状,对于不同的操作系统下,鼠标的样式显示会略有差别…

java Flink(四十三)Flink Interval Join源码解析以及简单实例

背景 之前我们在一片文章里简单介绍过Flink的多流合并算子 java Flink(三十六)Flink多流合并算子UNION、CONNECT、CoGroup、Join 今天我们通过Flink 1.14的源码对Flink的Interval Join进行深入的理解。 Interval Join不是两个窗口做关联,…

智慧城市的发展趋势与挑战:未来展望

随着信息技术的飞速发展,智慧城市已成为现代城市发展的重要方向。智慧城市通过集成应用先进的信息通信技术,实现城市管理、服务、运行的智能化,为城市的可持续发展注入了新的活力。然而,在智慧城市的发展过程中,也面临…

C语言——结构体自定义类型

目录 结构体类型 声明结构体 结构体的特殊声明 创建结构体变量和初始化结构体变量 结构体的自引用 结构体内存对齐 对齐规则 内存对齐存在意义 默认对齐数的修改 结构体传参 结构体实现位段 了解位段是什么 位段的内存分配 位段有跨平台的问题及使用注意事项 C语言…

电脑插上网线之后仍然没网络怎么办?

前言 有小伙伴在使用Windows系统的时候,经常会遇到电脑没网络,但又不知道具体怎么调整才好。 本篇内容适合插网线和使用Wi-Fi的小伙伴,文章本质上是重置电脑的网络设置。 注意事项:网络重置操作会让已连接过的wifi密码丢失&…

51单片机学习笔记7 串转并操作方法

51单片机学习笔记7 串转并操作方法 一、串转并操作简介二、74HC595介绍1. **功能**:2. **引脚**:3. **工作原理**:4. 开发板原理图(1)8*8 LED点阵:(2)74HC595 串转并: 三…

【PyTorch][chapter 22][李宏毅深度学习][ WGAN]【实战三】

前言: 本篇主要讲两个WGAN的两个例子: 1 高斯混合模型 WGAN实现 2 MNIST 手写数字识别 -WGAN 实现 WGAN 训练起来蛮麻烦的,如果要获得好的效果很多超参数需要手动设置 1: 噪声的维度 2: 学习率 3: 生成器,鉴别器…

Bert的一些理解

Bert的一些理解 Masked Language Model (MLM)Next Sentence Prediction (NSP)总结 参考链接1 参考链接2 BERT 模型的训练数据集通常是以预训练任务的形式来构建的,其中包括两个主要任务:Masked Language Model (MLM) 和 Next Sentence Prediction (NSP)。…

使用Vscode连接云进行前端开发

使用Vscode连接云进行前端开发 1、ssh连接腾讯云 本人使用的是腾讯云。 然后vscode,用最新版,插件选择remote ssh,或者remote xxx下载过来。 然后点击远程资源管理器,选择SSH通道 然后输入命令如下。 ssh rootip然后输入密码 腾讯云应该…

Linux环境下使用Eclipse Paho C 实现(MQTT Client)异步订阅Message

目录 概述 1 认识Eclipse Paho C 1.1 paho.mqtt.c简介 1.2 下载和安装paho.mqtt.c 1.3 一些重要的函数 2 异步订阅消息实现 2.1 编写异步订阅消息功能 2.1.1 初始化MQTT参数 2.1.2 初始化函数 2.1.3 订阅消息的回调函数 2.1.4 取消订阅Topic 2.2 编译代码和测试 3…

Lvs+keepalived+nginx搭建高可用负载均衡集群

环境配置 master主机192.168.199.149,虚拟IP192.168.199.148 back备机192.168.199.150 真实服务器1 192.168.199.155 真实服务器2 192.168.199.156 关闭防火墙和selinux master配置(149) 添加虚拟IP ip addr add 192.168.199.148/24 …

web前端之多种方式实现switch滑块功能、动态设置css变量、after伪元素、选择器、has伪类

MENU 效果图htmlcsshtmlcssJS 效果图 htmlcss html <div class"s"><input type"checkbox" id"si" class"si"><label for"si" class"sl"></label> </div>style * {margin: 0;pad…

IO多路复用、域套接字

思维导图 面试题TCP通信中的三次握手和四次&#xff1a; 客户端像向服务器端发送连接请求 服务器应答连接请求 客户端与服务器简历连接 客户端向服务器发送断开请求 服务器应答断开请求 服务器请求关闭连接 客户端发送确认应答 并行和并发的区别&#xff1a; 并行&#xff1a…

使用ChatGPT高效完成简历制作[中篇3]-有爱AI实战教程(十)

演示站点&#xff1a; https://ai.uaai.cn 对话模块 官方论坛&#xff1a; www.jingyuai.com 京娱AI 一、导读&#xff1a; 在使用 ChatGPT 时&#xff0c;当你给的指令越精确&#xff0c;它的回答会越到位&#xff0c;举例来说&#xff0c;假如你要请它帮忙写文案&#xff0c;…

【Linux】线程封装 | 线程互斥 | 基于阻塞队列的生产消费者模型

文章目录 一、线程封装二、Linux线程互斥进程线程间的互斥相关背景概念互斥量mutex为什么上面的抢票代码可能无法获得正确结果&#xff1f;&#xff08;票数为负&#xff09;互斥量的接口1. 初始化互斥量方法一&#xff1a;静态分配方法二&#xff1a;动态分配: 2. 销毁互斥量3…

性能优化(CPU优化技术)-NEON指令详解

原文来自ARM SIMD 指令集&#xff1a;NEON 简介 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#xff08;HPC&#xff09;开发基础教程 &#x1f380;CSDN主页 发狂的小花 &#x1f304;人生秘诀&#xf…

如何让自己上百度百科?个人百科词条创建

百度百科&#xff0c;作为我国最大的中文百科全书&#xff0c;其影响力和权威性不言而喻。能够登上百度百科&#xff0c;意味着个人的知名度、成就和社会影响力得到了广泛认可。那么&#xff0c;如何才能让自己上百度百科呢&#xff1f;接下来伯乐网络传媒就来给大家讲解一下。…

HarmonyOS NEXT应用开发之Navigation实现多设备适配案例

介绍 在应用开发时&#xff0c;一个应用需要适配多终端的设备&#xff0c;使用Navigation的mode属性来实现一套代码&#xff0c;多终端适配。 效果图预览 使用说明 将程序运行在折叠屏手机或者平板上观看适配效果。 实现思路 本例涉及的关键特性和实现方案如下&#xff1a…

[AIGC] 在Spring Boot中指定请求体格式

在使用Spring Boot开发Web应用的时候&#xff0c;我们经常会遇到需要接收并处理HTTP请求的情况。一个HTTP请求通常包括一个请求行、若干请求头和一个请求体。请求体在POST和PUT请求中特别重要&#xff0c;因为它通常用于向服务器传递数据。 文章目录 创建并使用一个Java Bean指…