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
0
投稿
猜你喜欢
- 前言工作中你可能会遇到很多这样的场景,一个接口,要从其他几个service调用查询方法,分别获取到需要的值之后再封装数据返回。还可能在微服务
- 题外话: 泛型与通配符是Java语法中比较难懂的两个语法,学习泛型和通配符的主要目的是能够看懂源码,实际使用的不多。1.泛型1.1泛型的用法
- Spring概述Spring就是为解决企业应用开发的复杂性而创建的,做为开源中间件,它使用基本的JavaBean来完成以前只可能有EJB(J
- 一、Rxjava使用场景为了模拟实际场景,从wanandroid网站找了二个接口,如下:(对Wanandroid表示感谢!)public i
- Java 内存划分: 在Java内存分配中,java将内存分为:方法区,堆,虚拟机栈,本地方法栈,程序计
- 一、首先看下Android开发用到的sdk目录:build-tools保存着一些Android平台相关通用工具,比如adb、和aapt、ai
- Spring自动装配之方法、构造器位置的自动注入1. 注解定义@Autowired的定义信息如下:@Target({ElementType.
- 在拿到一个 Stream 如何优雅将这个 Stream 保存到代码最优雅的方法应该是通过 CopyTo 或 CopyToAsync 的方法u
- 模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。下面着重详解回调机制。1. 概述Java 中的回调机制
- 直接调用HashKit.sha1(String str)方法就可以了,,返回的是16进制的字符串长度是40,也就是用md.digest()方
- LockSupport 简介LockSupport 是 Java 并发编程中一个非常重要的组件,我们熟知的并发组件 Lock、线程池、Cou
- 一、Shiro整体概述1.简介Apache Shiro是Java的一个安全框架,功能强大,使用简单,Shiro为开发人员提供了一个直观而全面
- 本文实例为大家分享了java数字转汉字工具类的具体代码,供大家参考,具体内容如下/** * Created by 33303 on 2017
- Android 界面刷新 Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,
- 在layout文件中使用自定义的View时遇到如下错误:12-11 17:28:26.962: ERROR/AndroidRuntime(1
- J2ee 高并 * 况下 * 实例详解引言:在高并发下限制最大并发次数,在web.xml中用过滤器设置参数(最大并发数),并设置其他相关参数。
- 不同点:不能直接实例化接口。接口不包含方法的实现。接口可以多继承,类只能单继承。类定义可以在不同的源文件之间进行拆分。相同点:接口、类和结构
- 本文实例为大家分享了java实现航空用户管理系统的具体代码,供大家参考,具体内容如下题目内容:某航空公司在其航班到达的不同的国家的不同地方设
- 基于SMTP发送一个简单的邮件首先,需要一个认证器:package No001_基于SMTP的文本邮件;import javax.mail.
- 对于以下数据,如何在运行时通过字符串来得到静态变量UIPath的值。public class GameMainMenu : UIClass{