C#/VB.NET 在PDF中添加文件包(Portfolio)的方法

作者:E-iceblue 时间:2023-08-28 03:01:18 

PDF文件包(Portfolio)允许用户将多种不同类型的文件如Word、Excel、PDF、PowerPoint和图片等集合到一个PDF文件中,用户可以打开、更改PDF文件包中的单个文件。添加文件包时,可支持创建文件包时并直接将文件添加到文件包;或者创建文件包的同时创建文件夹,并将文件添加到文件夹。

环境准备:程序中需要使用到PDF类库工具(Spire.PDF for .NET hotfix 6.5.15及以上版本)下载后,解压,将Bin文件夹下的dll文件添加引用到VS程序。如下效果:

C#/VB.NET 在PDF中添加文件包(Portfolio)的方法

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");
   }
 }
}

C#/VB.NET 在PDF中添加文件包(Portfolio)的方法

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");
   }
 }
}

C#/VB.NET 在PDF中添加文件包(Portfolio)的方法

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

标签:C#/VB.NET,PDF,文件包
0
投稿

猜你喜欢

  • 普通对象使用spring容器中的对象的实现方法

    2023-06-17 12:27:20
  • C#访问C++动态分配的数组指针(实例讲解)

    2021-08-20 10:34:27
  • Java语言之LinkedList和链表的实现方法

    2023-12-19 20:18:59
  • Java动态代理详解及实例

    2023-12-08 15:51:03
  • Flutter有状态组件StatefulWidget生命周期详解

    2023-09-25 23:56:50
  • Java BigDecimal使用方法详解

    2022-03-28 03:45:23
  • C#实现登录窗口(不用隐藏)

    2021-11-21 09:30:24
  • Android实现银行卡号扫描识别功能

    2021-09-05 01:56:50
  • 如何使用Flutter发布安卓应用

    2022-09-07 08:46:07
  • java异常与错误处理基本知识

    2023-11-25 10:44:59
  • java多线程下载实例详解

    2023-05-19 05:53:37
  • Java设计模式之状态模式State Pattern详解

    2023-11-07 07:55:01
  • Android Map新用法:MapFragment应用介绍

    2023-02-11 20:50:47
  • Android recyclerview实现纵向虚线时间轴的示例代码

    2023-08-23 07:03:39
  • springtask 的使用方法和 cron 表达式解析

    2023-06-19 20:05:56
  • Android图片实现压缩处理的实例代码

    2022-05-28 20:29:12
  • Java编程用指定字符打印菱形实例

    2022-02-23 05:49:09
  • 完美解决c# distinct不好用的问题

    2023-02-13 11:22:53
  • Java多线程之Semaphore实现信号灯

    2023-09-19 23:04:51
  • 如何通过Java实现时间轴过程解析

    2022-01-02 00:31:32
  • asp之家 软件编程 m.aspxhome.com