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. Rocket - diplomacy - NodeHandle相关类

    https://mp.weixin.qq.com/s/GWL41P1G1BXm2sTeLmckdA   介绍NodeHandle相关的类.     ​​   1. NoHandle   顶层类(tra ...

  2. Java实现 LeetCode 639解码方法 2(递推)

    639. 解码方法 2 一条包含字母 A-Z 的消息通过以下的方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 除了上述的条件以外,现在加密字符串可以 ...

  3. Java实现蓝桥杯VIP 算法训练 P0504

    试题 算法训练 P0504 资源限制 时间限制:1.0s 内存限制:256.0MB Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的 ...

  4. Java实现 蓝桥杯 历届真题 数字拆分

    正整数可以表示为若干正整数的累加和. 如,对于正整数n=6,可以分划为: 5+1 4+2 4+1+1 3+3 3+2+1 3+1+1+1 2+2+2 2+2+1+1 2+1+1+1+1 1+1+1+1 ...

  5. Java实现 蓝桥杯 算法训练 1的个数

    试题 算法训练 1的个数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输入正整数n,判断从1到n之中,数字1一共要出现几次.例如1123这个数,则出现了两次1.例如15,那么从1 ...

  6. java实现第五届蓝桥杯武功秘籍

    武功秘籍 小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的).他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上. 小明只想练习该书的第81页到第9 ...

  7. 数据的存储结构浅析LSM-Tree和B-tree

    目录 顺序存储与哈希索引 SSTable和LSM tree B-Tree 存储结构的比对 小结 本篇主要讨论的是不同存储结构(主要是LSM-tree和B-tree),它们应对的不同场景,所采用的底层存 ...

  8. mysql基础之-mysql查询缓存(九)

    0x01 MySQL查询缓存 用于保存MySQL查询语句返回的完整结果,被命中时,MySQL会立即返回结果,省去解析.优化和执行等操作 如何检查缓存?? MySQL保存结果与缓存中: 把select语 ...

  9. 【原创】Linux中断子系统(三)-softirq和tasklet

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...

  10. NASH:基于丰富网络态射和爬山算法的神经网络架构搜索 | ICLR 2018

    论文提出NASH方法来进行神经网络结构搜索,核心思想与之前的EAS方法类似,使用网络态射来生成一系列效果一致且继承权重的复杂子网,本文的网络态射更丰富,而且仅需要简单的爬山算法辅助就可以完成搜索,耗时 ...