C#/VB.NET 在PDF中添加文件包(Portfolio)的方法
作者:E-iceblue 发布时间:2023-08-28 03:01:18
标签:C#/VB.NET,PDF,文件包
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 = 0; 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 = 0 To files.Length - 1
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 = 0; 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 = 0 To files.Length - 1
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
来源:https://www.cnblogs.com/Yesi/archive/2020/06/29/13206277.html


猜你喜欢
- Java项目涉及到数据库交互,以往常用的是JDBC,现在则有Hibernate、Mybatis等这些持久化支持。项目中用到了MyBatis,
- 目录主要功能介绍客户端main方法入口主窗体代码更新帮助类版本xml文件解析服务端版本xml文件自动升级服务Controller版本文件自动
- feign调用服务时参数内容过大场景前端参数传入到gateway后,gateway使用feign调用服务时,传入的参数内容过大(参数常见于富
- 一、新建短信微服务1、在service模块下创建子模块service-msm2.创建controller和service代码3.配置appl
- 本文实例讲述了Android获取apk签名指纹的md5值以防止重新被打包的实现方法。分享给大家供大家参考,具体如下:做个记录(这里只是Jav
- 在使用官方的showModalBottomSheet这个组件时到目前为止遇到了三个比较坑的地方1. 无法直接设置圆角;2. 组件最多只能撑满
- 本文实例为大家分享了Android录制音频文件的具体代码,供大家参考,具体内容如下1、这个demo中没有对多次点击同一个声音文件做详细处理,
- 第一步:在d盘新建android文件夹,在此文件夹中再建三个子文件夹,Android Studio 、 Android_SDK、Androi
- 1、在Windows下用CMD netstat命令可以获得当前进程监听端口号的信息,如netstat -ano可以看到IP、port、状态和
- 1.由于springboot集成了tomcat,所以打包的时候不再使用war,而是使用jar <groupId>cn&
- ArrayList介绍ArrayList底层是基于数组实现的,是一个动态数组,自动扩容。ArrayList不是线程安全的,只能用在单线程环境
- 先来看看网易云APP的效果:前言关于网易云音乐推荐歌单界面的实现一、实现1.自定义一个圆角图片控件(也可直接使用第三方框架)由于是一些简单的
- 一、枚举的概念:C# 枚举(Enum), 枚举类型是用于声明一组命名的常数的基本数据类型(值类型);二、枚举的定义:声明enum变量:enu
- 每一个应用都是具备一个功能,那就是版本更新,我记得我之前在面试的时候,面试官让我介绍一下应用版本更新的一些具体操作。我当时因为做过这个功能,
- 开发过程中有这样一个场景,2个 bean 初始化逻辑中有依赖关系,需要控制二者的初始化顺序。实现方式可以有多种,本文结合目前对 Spring
- Android 四种获取屏幕宽度的方法方法一: WindowManager wm = (WindowManager) this
- 一、代码结构:二、数据实体类:using System;using System.Collections.Generic;using Sys
- 概述递归:指在当前方法内调用自己的这种现象。递归的分类:递归分为两种,直接递归和间接递归。直接递归称为方法自身调用自己。间接递归可以A方法调
- 目录前言一、内存优化策略二、具体优化的点1.避免内存泄漏2.Bitmap等大对象的优化策略(1) 优化Bitmap分辨率(2) 优化单个像素
- 项目需求中有个功能模块需要用到时间选择控件,但是android系统自带的太丑了,只能自己优化下,结合WheelView实现滚轮选择日期,好像