PDF文件包(Portfolio)允许用户将多种不同类型的文件如Word、Excel、PDF、PowerPoint和图片等集合到一个PDF文件中,用户可以打开、更改PDF文件包中的单个文件。添加文件包时,可支持创建文件包时并直接将文件添加到文件包;或者创建文件包的同时创建文件夹,并将文件添加到文件夹

环境准备:程序中需要使用到PDF类库工具(Spire.PDF for .NET hotfix 6.5.15及以上版本)下载后,解压,将Bin文件夹下的dll文件添加引用到VS程序。如下效果:

1. 创建文件包时直接添加文件

C#

using Spire.Pdf;
using System; namespace CreatePDFPortfolio_PDF
{
class Program
{
static void Main(string[] args)
{
//创建数组
String[] files = new String[] { "sample.pdf", "sample.docx", "sample.xlsx", "sample.txt", "sample.pptx" }; //创建PdfDocument实例
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("test.pdf"); //创建PDF文件包并添加文件
for (int i = ; i < files.Length; i++)
{
pdf.Collection.AddFile(files[i]);
} //保存文档
pdf.SaveToFile("PortfolioWithFiles.pdf", FileFormat.PDF);
System.Diagnostics.Process.Start("PortfolioWithFiles.pdf");
}
}
}

VB.NET

Imports Spire.Pdf

Namespace CreatePDFPortfolio_PDF
Class Program
Private Shared Sub Main(args As String())
'创建数组
Dim files As [String]() = New [String]() {"sample.pdf", "sample.docx", "sample.xlsx", "sample.txt", "sample.pptx"} '创建PdfDocument实例
Dim pdf As New PdfDocument()
pdf.LoadFromFile("test.pdf") '创建PDF文件包并添加文件
For i As Integer = To files.Length - pdf.Collection.AddFile(files(i))
Next '保存文档
pdf.SaveToFile("PortfolioWithFiles.pdf", FileFormat.PDF)
System.Diagnostics.Process.Start("PortfolioWithFiles.pdf")
End Sub
End Class
End Namespace

2. 创建文件包时创建文件夹,并将文件添加到文件夹

C#

using Spire.Pdf;
using Spire.Pdf.Collections;
using System; namespace CreatePDFPortfolio2
{
class Program
{
static void Main(string[] args)
{
//创建数组
String[] files = new String[] { "sample.pdf", "sample.docx", "sample.xlsx", "sample.txt", "sample.pptx" }; //创建PdfDocument实例
PdfDocument doc = new PdfDocument(); //创建PDF文件包,添加文件夹,并向文件夹添加文件
for (int i = ; i < files.Length; i++)
{
PdfFolder folder = doc.Collection.Folders.CreateSubfolder("Folder" + i);
folder.AddFile(files[i]);
} //保存文档
doc.SaveToFile("PortfolioWithFolders2.pdf", FileFormat.PDF);
System.Diagnostics.Process.Start("PortfolioWithFolders2.pdf");
}
}
}

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Collections Namespace CreatePDFPortfolio2
Class Program
Private Shared Sub Main(args As String())
'创建数组
Dim files As [String]() = New [String]() {"sample.pdf", "sample.docx", "sample.xlsx", "sample.txt", "sample.pptx"} '创建PdfDocument实例
Dim doc As New PdfDocument() '创建PDF文件包,添加文件夹,并向文件夹添加文件
For i As Integer = To files.Length -
Dim folder As PdfFolder = doc.Collection.Folders.CreateSubfolder("Folder" + i)
folder.AddFile(files(i))
Next '保存文档
doc.SaveToFile("PortfolioWithFolders2.pdf", FileFormat.PDF)
System.Diagnostics.Process.Start("PortfolioWithFolders2.pdf")
End Sub
End Class
End Namespace

(完)

C#/VB.NET 在PDF中添加文件包(Portfolio)的更多相关文章

  1. C# 在PDF中添加墨迹注释Ink Annotation

    PDF中的墨迹注释(Ink Annotation),表现为徒手涂鸦式的形状:该类型的注释,可任意指定形状顶点的位置及个数,通过指定的顶点,程序将连接各点绘制成平滑的曲线.下面,通过C#程序代码介绍如何 ...

  2. Java 在PDF 中添加超链接

    对特定元素添加超链接后,用户可以通过点击被链接的元素来激活这些链接,通常在被链接的元素下带有下划线或者以不同的颜色显示来进行区分.按照使用对象的不同,链接又可以分为:文本超链接,图像超链接,E-mai ...

  3. vs解决方案中添加文件夹

    一般我们在github上面看到的项目结构基本都是把项目放到src文件夹中,test放测试 查了半天也没查到这个是怎么产生的...这边只能用比较笨的方法来完成. 解决方法中是允许我们添加解决方案文件夹, ...

  4. 如何在maven中添加jar包

    Maven 中央仓库地址: 1. http://www.sonatype.org/nexus/ 2. http://mvnrepository.com/ (本人推荐仓库) 3. http://repo ...

  5. 在pom包中添加spring-boot-starter-test包引用

    有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发.调试.打包到最后的投产上线. 开发阶段 单元 ...

  6. C#/VB.NET 在Word中添加条码、二维码

    本文介绍如何通过C# 和VB.NET代码实现在Word文档中添加条码和二维码.代码中将分为在Word正文段落中.页眉页脚中等情况来添加. 使用工具:Free Spire.Office for .NET ...

  7. Java 在PDF中添加页面跳转按钮

    在PDF 中可通过按钮来添加动作跳转到指定页面,包括跳转到文档首页.文档末页.跳转到上一页.下一页.或跳转到指定页面等.下面将通过java代码来演示如何添加具有以上几种功能的按钮. 使用工具: Fre ...

  8. Java 在PDF中添加表格

    本文将介绍通过Java编程在PDF文档中添加表格的方法.添加表格时,可设置表格边框.单元格对齐方式.单元格背景色.单元格合并.插入图片.设置行高.列宽.字体.字号等. 使用工具:Free Spire. ...

  9. Java 在PDF中添加工具提示|ToolTip

    本文,将介绍如何通过Java后端程序代码在PDF中创建工具提示.添加工具提示后,当鼠标悬停在页面上的元素时,将显示工具提示内容. 导入jar包 本次程序中使用的是 Free Spire.PDF for ...

随机推荐

  1. 数据库之 MySQL --- 数据处理 之 表的约束与分页(七)

    个人博客网:https://wushaopei.github.io/    (你想要这里多有)     1.约束 :为了保证数据的一致性和完整性,SQL规范以约束的方式对表数据进行额外的条件限制 ​ ...

  2. 利用init进程监控底层节点的方法架构

    native层利用底层节点变化,再针对变化进行相应的函数调用,实现某些功能. 架构如下: 底层提供节点更新,以及healthd读取节点的实现,都比较简单.而其余部分比较关键. 特别注意init监控pr ...

  3. C# Winform 学习(五)

    目标 1.MDI应用程序 2.图片框控件 3.图片集控件 4.定时器控件 一.MDI应用程序 1.理解: 单文档界面:SDI(word) 多文档界面:MDI(excel) 2.特点: 1)每个MDI程 ...

  4. 为什么我觉得 Java 的 IO 很复杂?

    初学者觉得复杂是很正常的,归根结底是因为没有理解JavaIO框架的设计思想: 可以沿着这条路想一想: 1,学IO流之前,我们写的程序,都是在内存里自己跟自己玩.比如,你声明个变量,创建个数组,创建个集 ...

  5. 消费者启动,允许期间报task supervisor timed out 异常,解决

    如何解决后端项目启动时抛出 task supervisor timed out 异常 现象描述 后端项目启动时抛出如下异常,但是该后段项目能正常启动并注册到注册中心,不影响功能使用. 2018-10- ...

  6. tab-switch 样式的添加 与 tab元素样式的切换

    要点: 1.多个div类名相同情况下添加class样式 2.siblings() 方法返回被选元素的所有同级元素.DOM 树:该方法沿着 DOM 元素的同级元素向前和向后遍历. 3.利用索引,只添加当 ...

  7. 分布式ID总结

    分布式ID 生成的ID使用场景 几乎所有的业务系统,都有生成一个记录标识的需求,例如:message_id, order_id.这个记录标识往往就是数据库中的唯一主键,数据库上会建立聚集索引(clus ...

  8. 权限系统设计(0):权限系统设计基本概念改需-MAC/RBAC引子

    此篇主要对权限系统设计所涉的一些专业术语重点梳理.从我们windows的文件系统 自主访问控制 到基于角色访问控制. 权限设计基本术语 对后面会用到的词汇做一个简要说明 什么是权限(许可) 权限(Pr ...

  9. SpringMVC+Mybatis初尝试

    一个月前简单学完了SpringMVC框架和Mybatis框架,一直没有使用过,今天主要用它做了个简单的学生管理系统,不过第一次用框架,实现的功能简单,比较low. 注:这里使用的数据库是SQLServ ...

  10. 关于thinkphp5下URL附加参数,无法获取到(?参数)

    nginx 配置问题: 修改配置后: