
2.获取PDF附件
2.1 获取文件附件
using Spire.Pdf;
using Spire.Pdf.Attachments;
using System;
using System.IO;
namespace GetAttachment_PDF
{
class Program
{
static void Main(string[] args)
{
//创建PDF文档,加载测试文件
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Attachment1.pdf");
//获取文档中的第一个文件附件
PdfAttachment attachment = pdf.Attachments[0];
//获取该附件的信息
Console.WriteLine("Name: {0}", attachment.FileName);
Console.WriteLine("MimeType: {0}", attachment.MimeType);
Console.WriteLine("Description: {0}", attachment.Description);
Console.WriteLine("Creation Date: {0}", attachment.CreationDate);
Console.WriteLine("Modification Date: {0}", attachment.ModificationDate);
//将附件的数据写入到新文档
File.WriteAllBytes(attachment.FileName, attachment.Data);
Console.ReadKey();
}
}
}
测试结果:

2.2 获取注释附件
using Spire.Pdf;
using Spire.Pdf.Annotations;
using System.Collections.Generic;
using System.IO;
namespace GetAttachment2
{
class Program
{
static void Main(string[] args)
{
//加载PDF文档
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Attachment2.pdf");
//实例化一个list并将文档内所有页面的Attachment annotations添加到该list
List<PdfAttachmentAnnotationWidget> attaches = new List<PdfAttachmentAnnotationWidget>();
foreach (PdfPageBase page in pdf.Pages)
{
foreach (PdfAnnotation annotation in page.AnnotationsWidget)
{
attaches.Add(annotation as PdfAttachmentAnnotationWidget);
}
}
//遍历list,将附件数据写入到新文档
for (int i = 0; i < attaches.Count; i++)
{
File.WriteAllBytes(attaches[i].FileName, attaches[i].Data);
}
}
}
}
注释附件读取结果:

3.删除PDF附件
3.1 删除文件附件
using Spire.Pdf;
namespace DeleteAttachment_PDF
{
class Program
{
static void Main(string[] args)
{
//加载PDF文档
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Attachment1.pdf");
//删除文档的所有文件附件
for (int i = 0; i < pdf.Attachments.Count; i++)
{
pdf.Attachments.RemoveAt(i);
}
//保存并打开文档
pdf.SaveToFile("Remove.pdf");
System.Diagnostics.Process.Start("Remove.pdf");
}
}
}
3.2 删除注释附件
using Spire.Pdf;
namespace DeleteAttachment_PDF
{
class Program
{
static void Main(string[] args)
{
//加载PDF文档
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Attachment1.pdf");
//删除文档的所有文件附件
for (int i = 0; i < pdf.Attachments.Count; i++)
{
pdf.Attachments.RemoveAt(i);
}
//保存并打开文档
pdf.SaveToFile("Remove.pdf");
System.Diagnostics.Process.Start("Remove.pdf");
}
}
}
3.2 删除注释附件
using Spire.Pdf;
using Spire.Pdf.Annotations;
namespace DeleteAttachment2
{
class Program
{
static void Main(string[] args)
{
//加载PDF文档
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Attachment2.pdf");
//删除文档的所有注释附件
foreach (PdfPageBase page in pdf.Pages)
{
for (int i = 0; i < page.AnnotationsWidget.Count; i++)
{
PdfAnnotation annotation = page.AnnotationsWidget[i] as PdfAttachmentAnnotationWidget;
page.AnnotationsWidget.Remove(annotation);
}
}
//保存并打开文档
pdf.SaveToFile("Result.pdf");
System.Diagnostics.Process.Start("Result.pdf");
}
}
}










