在前面的文章中,我们已经知道如何合并、拆分多个PDF文件,在这篇文章中的合并、拆分PDF文档主要是以方便文档管理的目的来操作文档,在文档查阅、管理及存储上很方便实用。但是我们如果想要合并多个文档中的部分文档页的内容,该如何来做呢?可以参考接下来将要介绍的合并方法。

PS: 本篇文章是对Free Spire.PDF 的合并功能的进一步介绍,即如何合并多个PDF文档中的指定页(指定单页、指定多页)为一个新文档,更多关于Free Spire.PDF对PDF文档的操作功能可参阅这里的博客。

使用工具:Free Spire.PDF for .NET

提示下载安装该组件后,注意在项目程序中添加引用Spire.PDF.dll文件

代码细节可参考以下主要代码段:

           //初始化数组,数组元素为需要合并的PDF文档
string[] files = { "sample1.pdf", "sample2.pdf" };
PdfDocument[] docs = new PdfDocument[files.Length];
//遍历PDF文档
for (int i = ; i < files.Length; i++)
{
docs[i] = new PdfDocument();
docs[i].LoadFromFile(files[i]);
}
//创建一个新的PDF文档并插入从原文档选取的指定页
PdfDocument doc = new PdfDocument();
doc.InsertPage(docs[], );//指定单页
doc.InsertPageRange(docs[], , );//指定多页 //保存并命名合并后的文档,同时运行文档
doc.SaveToFile("Result.pdf");
Process.Start("Result.pdf");

合并前:

合并后:

全部代码

C#

using Spire.Pdf;
using System.Diagnostics; namespace MergeSelectedPDFpages
{
class Program
{
static void Main(string[] args)
{
string[] files = { "sample1.pdf", "sample2.pdf" };
PdfDocument[] docs = new PdfDocument[files.Length]; for (int i = ; i < files.Length; i++)
{
docs[i] = new PdfDocument();
docs[i].LoadFromFile(files[i]);
} PdfDocument doc = new PdfDocument();
doc.InsertPage(docs[], );
doc.InsertPageRange(docs[], , ); doc.SaveToFile("Result.pdf");
Process.Start("Result.pdf");
}
}
}

VB.NET

Imports Spire.Pdf
Imports System.Diagnostics Namespace MergeSelectedPDFpages Class Program Private Shared Sub Main(ByVal args() As String)
Dim files() As String = New String() {"sample1.pdf", "sample2.pdf"}
Dim docs() As PdfDocument = New PdfDocument((files.Length) - ) {}
Dim i As Integer =
Do While (i < files.Length)
docs(i) = New PdfDocument
docs(i).LoadFromFile(files(i))
i = (i + )
Loop Dim doc As PdfDocument = New PdfDocument
doc.InsertPage(docs(), )
doc.InsertPageRange(docs(), , )
doc.SaveToFile("Result.pdf")
Process.Start("Result.pdf")
End Sub
End Class
End Namespace

以上内容是本次关于“如何合并PDF文档指定页”的全部介绍,如果喜欢,欢迎转载(转载请注明出处)

感谢阅读!

C# / VB.NET合并PDF指定页的更多相关文章

  1. C#/VB.NET 合并PDF页面

    本文以C#及vb.net代码为例介绍如何来实现合并PDF页面内容.本文中的合并并非将两个文档简单合并为一个文档,而是将多个页面内容合并到一个页面,目的是减少页面上的空白区域,使页面布局更为紧凑.合理. ...

  2. C#/VB.NET 设置PDF跨页表格重复显示表头行

    在创建表格时,如果表格内容出现跨页显示的时候,默认情况下该表格的表头不会在下一页显示,在阅读体验上不是很好.下面分享一个方法如何在表格跨页时显示表格的表头内容,在C#中只需要简单使用方法grid.Re ...

  3. java实现截取PDF指定页并进行图片格式转换

    1.引入依赖 <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox& ...

  4. word文档转pdf,支持.doc和.docx,另附抽取pdf指定页数的方法

    公司有个需求,需要将word转成pdf并且抽取首页用以展示,word文档有需要兼容.doc和.docx两种文档格式.其中.docx通过poi直接就可以将word转成pdf,.doc则无法这样实现,上网 ...

  5. Java 设置PDF跨页表格重复显示表头行

    在创建表格时,如果表格内容出现跨页显示的时候,默认情况下该表格的表头不会在下一页显示,在阅读体验上不是很好.下面分享一个方法如何在表格跨页是显示表格的表头内容,这里只需要简单使用方法 grid.set ...

  6. iTextSharp之pdfRead(两个文件文本内容的比较,指定页数的pdf截取,水印的添加)

    using iTextSharp.text; using iTextSharp.text.pdf; using iTextSharp.text.pdf.parser; using System; us ...

  7. rails 里js 在production 只合并不压缩等问题,以及assets pipeline 加载js 在指定页面上

    因为刚学rails,试着做了一个小系统操作微信公共帐号, 之后部署的时候遇见了一个问题,整套系统在互联网端访问,非常的慢,而在手机端访问,10s后才会有响应, 打开chrome的调试工具,发现appl ...

  8. Aspose.Pdf合并PDF文件

    使用Aspose.Pdf类库,有很多种方法可以合并PDF文件,这里简单介绍小生见到的几种: Doucment.Pages.Add PdfFileEditor.Append PdfFileEditor. ...

  9. C# vb .NET从pdf读取识别条形码线性条码

    如何在C#,vb等.NET平台语言里实现快速准确从pdf文件读取,或者从Pdf指定页面读取条形码或QR二维码呢?答案是使用SharpBarcode! SharpBarcode是C#快速高效.准确的条形 ...

随机推荐

  1. Java进阶(四十一)多线程讲解

    Java多线程讲解 前言 接到菜鸟网络的电话面试,面试官让自己谈一下自己对多线程的理解,现将其内容整理如下. 线程生命周期 Java线程具有五种基本状态 新建状态(New):当线程对象创建后,即进入了 ...

  2. Django 实现简单的文件上传

    今天分享一下Django实现的简单的文件上传的小例子. 步骤 创建Django项目,创建Django应用 设计模型 处理urls.py 以及views.py 设计模板,设计表单 运行项目,查看数据库 ...

  3. XML命名规则

    XML = Extensible Markup Language,可扩展标记语言 XML 标签对大小写敏感,XML 标签对大小写敏感.在XML 中,标签 <Letter> 与标签 < ...

  4. Dynamics CRM 检测访问CRM延迟及带宽的工具

    直接在浏览器中访问如下地址"http://CRMHOST/organization/tools/diagnostics/diag.aspx"(这里的CRMHOST和organiza ...

  5. 07 ProgressDialog

    <span style="font-size:18px;">package com.fmy.example1; import android.app.Activity; ...

  6. 学习TensorFlow,线性回归模型

    学习TensorFlow,在MNIST数据集上建立softmax回归模型并测试 一.代码 <span style="font-size:18px;">from tens ...

  7. LiveBlox无需代码的开发工具--支持win macos ubuntu等开发环境--

    LiveBlox无需代码的开发工具-支持windows macos ubuntu. 强大 灵活 易于使用 视频简介:LiveBlox Develop Technology Without Coding ...

  8. Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(七)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 打开SpriteBuilder,在文件视图中新建一个文件夹Fon ...

  9. android:layout_gravity和gravity的区别

    文章转自http://blog.csdn.net/shakespeare001/article/details/784346,给出了很详细的解释. 1.首先来看看Android:layout_grav ...

  10. (五十一)KVC与KVO详解

    KVC的全称为key value coding,它是一种使用字符串间接更改对象属性的方法. 假设有一个Person类和一个Student类,其中Person类有age.name两个属性,Student ...