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 ...
随机推荐
- jchdl - RTL实例 - MOS6502 ALU
https://mp.weixin.qq.com/s/nMxYVC2djk7DdAforerZPA 使用jchdl RTL实现MOS6502 CPU的ALU. 参考链接 https://git ...
- 【jQuery】全功能轮播图的实现(本文结尾也有javascript版)
轮播图 图片自动切换(定时器): 鼠标悬停在图片上图片不切换(清除定时器) 鼠标悬停在按钮上时显示对应的图片(鼠标悬停事件) 鼠标悬停在图片上是现实左右箭头 点击左键切换到上一张图片,但图片为第一张时 ...
- CPU efficiency测量标准:DMIPS
DMIPS:Dhrystone Million Instructions executed Per Second ,主要用于测整数计算能力. 1.Dhrystone:是测量处理器运算能力的最常见基 ...
- Java实现 LeetCode 676 实现一个魔法字典(暴力)
676. 实现一个魔法字典 实现一个带有buildDict, 以及 search方法的魔法字典. 对于buildDict方法,你将被给定一串不重复的单词来构建一个字典. 对于search方法,你将被给 ...
- Java实现 LeetCode 466 统计重复个数
466. 统计重复个数 定义由 n 个连接的字符串 s 组成字符串 S,即 S = [s,n].例如,["abc", 3]="abcabcabc". 另一方面, ...
- Java实现 LeetCode 148 排序链表
148. 排序链表 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序. 示例 1: 输入: 4->2->1->3 输出: 1->2->3-> ...
- Linux ACL权限查看与设定
getfacl 文件名,可以查看文件的acl权限 setfacl [选项] 文件名,可以设定文件的acl权限,例如:setfacl -m u:boduo:rx /project/ 这时候,创建了bod ...
- 记一次mysql修复错误数据问题
问题描述 之前做的一个服务端配合硬件端的项目,今天突然在微信上跟我讲在管理后台订单列表里的设备编号看不见后3位数字. 原因查找 看了下数据库表发现原因是因为订单表的设备编号长度限制了16位(开发时跟硬 ...
- opencl(2)平台、设备、上下文的获取与信息获取
1:平台 1)获取平台id cl_int clGetPlatformIDs( cl_uint num_entries, //想要获取的平台数 cl_platform_id * flatfor ...
- HttpClientFactory-向外请求的最佳
简介 它的组件包是Microsoft.Extensions.Http 复原HttpClient带来的问题 HttpClient相关问题 虽然HttpClient类实现了IDisposable,但不是首 ...