C#/VB.NET 在PDF中添加文件包(Portfolio)
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)的更多相关文章
- C# 在PDF中添加墨迹注释Ink Annotation
PDF中的墨迹注释(Ink Annotation),表现为徒手涂鸦式的形状:该类型的注释,可任意指定形状顶点的位置及个数,通过指定的顶点,程序将连接各点绘制成平滑的曲线.下面,通过C#程序代码介绍如何 ...
- Java 在PDF 中添加超链接
对特定元素添加超链接后,用户可以通过点击被链接的元素来激活这些链接,通常在被链接的元素下带有下划线或者以不同的颜色显示来进行区分.按照使用对象的不同,链接又可以分为:文本超链接,图像超链接,E-mai ...
- vs解决方案中添加文件夹
一般我们在github上面看到的项目结构基本都是把项目放到src文件夹中,test放测试 查了半天也没查到这个是怎么产生的...这边只能用比较笨的方法来完成. 解决方法中是允许我们添加解决方案文件夹, ...
- 如何在maven中添加jar包
Maven 中央仓库地址: 1. http://www.sonatype.org/nexus/ 2. http://mvnrepository.com/ (本人推荐仓库) 3. http://repo ...
- 在pom包中添加spring-boot-starter-test包引用
有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发.调试.打包到最后的投产上线. 开发阶段 单元 ...
- C#/VB.NET 在Word中添加条码、二维码
本文介绍如何通过C# 和VB.NET代码实现在Word文档中添加条码和二维码.代码中将分为在Word正文段落中.页眉页脚中等情况来添加. 使用工具:Free Spire.Office for .NET ...
- Java 在PDF中添加页面跳转按钮
在PDF 中可通过按钮来添加动作跳转到指定页面,包括跳转到文档首页.文档末页.跳转到上一页.下一页.或跳转到指定页面等.下面将通过java代码来演示如何添加具有以上几种功能的按钮. 使用工具: Fre ...
- Java 在PDF中添加表格
本文将介绍通过Java编程在PDF文档中添加表格的方法.添加表格时,可设置表格边框.单元格对齐方式.单元格背景色.单元格合并.插入图片.设置行高.列宽.字体.字号等. 使用工具:Free Spire. ...
- Java 在PDF中添加工具提示|ToolTip
本文,将介绍如何通过Java后端程序代码在PDF中创建工具提示.添加工具提示后,当鼠标悬停在页面上的元素时,将显示工具提示内容. 导入jar包 本次程序中使用的是 Free Spire.PDF for ...
随机推荐
- prism.js——让网页中的代码更好看
粗放的代码展示 有时候,网页中会插入代码.直接把代码放入<pre></pre>标签和<code></code>标签里,也算是可以在页面中显示出来. 比如 ...
- 跟着阿里学JavaDay06——Java基础语法(四)
一.方法 方法执行到return语句后,这个方法的执行就结束了,方法可以有返回值,但可以不用这个返回值.方法首先要定义,然后才能调用. public class TestMethod{ public ...
- Java实现 LeetCode 768 最多能完成排序的块 II(左右便利)
768. 最多能完成排序的块 II 这个问题和"最多能完成排序的块"相似,但给定数组中的元素可以重复,输入数组最大长度为2000,其中的元素最大为10**8. arr是一个可能包含 ...
- Java实现 LeetCode 491递增子序列
491. 递增子序列 给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2. 示例: 输入: [4, 6, 7, 7] 输出: [[4, 6], [4, 7], [4, ...
- Linux目录处理命令cd、pwd、rmdir、cp、mv、rm详解
命令cd详解 命令cd(英文原意:change directory),命令路径及执行权限为: 可以看到它的路径为/usr/bin/cd,因此,它的执行权限是所有用户 基本功能是切换目录,例如:cd . ...
- webpack从单页面到多页面
前言 从上次更完webpack从什么都不懂到入门之后,好久没有更新过文章了,可能是因为自己懒了吧.今天看了下自己的索引量少了一半o(╥﹏╥)o,发现事态严重,赶紧更新一篇23333 也是因为最近踩了一 ...
- NodeJS及路由
1.基本介绍- http://nodejs.cn/api/ Node.js 是一个基于Chrome V8 引擎的JavaScript运行环境 Node.js使用了一个事件驱动.非阻塞式I/O的模型,使 ...
- vim编辑器添加插件NERDTree
0x01 首先在 http://www.vim.org/scripts/script.php?script_id=1658 下载插件 (可能要爬梯,也可以在https://github.com/scr ...
- kworkerds挖矿木马
昨天一朋友的公司服务器中了挖矿病毒,一起帮忙查看并做下记录. 病毒信息 名称:kworkerds 目录:/tmp/ 关键点:文件 -i 属性 i :这个i可就很厉害了.它可以让一个文件“不能被 ...
- Vue项目实战之改动饿了吗购物小球动画
html:没有写v-on: afterEnter函数了,因为执行不到,原因是enter的done: <div class="ball-container"><tr ...