C#-添加、获取、删除PDF附件_第1页
C#-添加、获取、删除PDF附件_第2页
C#-添加、获取、删除PDF附件_第3页
C#-添加、获取、删除PDF附件_第4页
C#-添加、获取、删除PDF附件_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/1C#-添加、获取、删除PDF附件C#/VB.NET如何添加、获取、删除PDF附件概述附件,指随同文件发出的有关文件或物品。

在PDF文档中,我们可以添加同类型的或其他类型的文档作为附件内容,而PDF中附件也可以分为两种存在形式,一种是附件以普通文件形式存在,另一种是以注释的形式存在。

在下面的示例中介绍了如何分别添加以上两种形式的PDF附件。

此外,根据PDF附件的不同添加方式,我们在获取PDF附件信息或删除PDF附件时,也可以分情况来执行操作。

要点索引1.添加PDF附件1.1以普通文档形式添加附件1.2以文档注释形式添加附件2.获取PDF附件2.1获取文件附件2.2获取注释附件3.删除PDF附件3.1删除文件附件3.2删除注释附件工具使用Spire.PDFfor.NET4.0示例操作1.添加PDF附件1.1以普通文档形式添加附件C#usingSpire.Pdf;usingSpire.Pdf.Attachments;namespaceAddAttachment_PDF{classProgram{staticvoidMain(string[]args){//创建一个PdfDocument类对象,加载测试文档}测试VB.NImpoImpoNamePdfpdf//初Pdf//将pdf//保pdfSys}}试结果:

NETortsSpire.PortsSpire.PespaceAddAtClassProgrPrivateDimpdfDocumentpdf.LoadFromFil初始化PdfAttaAttachmenta将文档添加到原.Attachments保存并打开文档.SaveToFiletem.DiagnostPdfPdf.Attachmenttachment_PDFrameSharedSubmpdfAsPdfDf.LoadFromFilf=newPdfDle(sample.pachment类实例attachment=原PDF文档的附s.Add(attach档(Attachmenttics.ProcessntsFMain(ByValDocument=Nle(sample.pDocument();pdf);例,加载需要=newPdfAtt附件集合中hment);t1.pdf);s.Start(AttargsAsStrNewPdfDocumpdf)附加的文档achment(Newachment1.pdfring())ment()w.pdf);f);DimattachmentAsPdfAttachment=NewPdfAttachment(New.pdf)pdf.Attachments.Add(attachment)pdf.SaveToFile(Attachment1.pdf)System.Diagnostics.Process.Start(Attachment1.pdf)EndSubEndClassEndNamespace1.2以文档注释形式添加附件C#usingSpire.Pdf;usingSpire.Pdf.Annotations;usingSpire.Pdf.Graphics;usingSystem;usingSystem.Drawing;usingSystem.IO;namespaceAddAttachment2{classProgram{staticvoidMain(string[]args){//创建一个PdfDocument类对象,加载测试文档PdfDocumentdoc=newPdfDocument(sample.pdf);//给添加一个新页面到文档PdfPageBasepage=doc.Pages.Add();//添加文本到页面,并设置文本格式(字体、题号、字体粗细、颜色、文本位置等)PdfTrueTypeFontfont1=newPdfTrueTypeFont(newFont(Arial,16f,System.Drawing.FontStyle.Bold));page.Canvas.DrawString(Attachments:,font1,PdfBrushes.CornflowerBlue,newPoint(50,50));//将文档作为注释添加到页面PdfTrueTypeFontfont2=newPdfTrueTypeFont(newFont(Arial,12f,System.Drawing.FontStyle.Bold));PointFlocation=newPointF(52,80);//设置注释标签,标签内容为作为附件的文档Stringlabel=sample.docx;byte[]data=File.ReadAllBytes(sample.docx);SizeFsize=font2.MeasureString(label);fontsam}测试VB.NImpoImpoImpoImpoImpoImpoName//设Recpagbout2.Height);Pdfmple.docx,annannannann(pa//保docSys}}试结果:

NETortsSpire.PortsSpire.PortsSpire.PortsSystemortsSystem.ortsSystem.espaceAddAt设置注释位置、tangleFboune.Canvas.Drands=newReAttachmentAndata);otation1.Colotation1.Flaotation1.Icootation1.TexgeasPdfNew保存并打开文档.SaveToFiletem.DiagnostPdfPdf.AnnotatioPdf.GraphicsDrawingIOttachment2、大小、颜色nds=newReawString(labectangleF(bonnotationanlor=Color.ags=PdfAnnon=PdfAttaxt=samplewPage).Annot档(Attachmenttics.Processons色、标签类型以ectangleF(lobel,font2,ounds.Rightnnotation1=Purple;notationFlagachmentIcon.e.docx;tations.Add(t2.pdf);s.Start(Att以及显示文本等cation,sizePdfBrushes.M+3,bounds.newPdfAttags.NoZoom;Graph;annotation1)achment2.pdf等e);MediumPurple.Top,font2.achmentAnnot);f);e,bounds);Height/2,tation(boundds,ClassProgramPrivateSharedSubMain(ByValargsAsString())DimdocAsPdfDocument=NewPdfDocument(sample.pdf)DimpageAsPdfPageBase=doc.Pages.Add()Dimfont1AsPdfTrueTypeFont=NewPdfTrueTypeFont(NewFont(Arial,16F,System.Drawing.FontStyle.Bold))page.Canvas.DrawString(Attachments:,font1,PdfBrushes.CornflowerBlue,NewPoint(50,50))Dimfont2AsPdfTrueTypeFont=NewPdfTrueTypeFont(NewFont(Arial,12F,System.Drawing.FontStyle.Bold))DimlocationAsPointF=NewPointF(52,80)DimlabelAsString=sample.docxDimdataAsByte()=File.ReadAllBytes(sample.docx)DimsizeAsSizeF=font2.MeasureString(label)DimboundsAsRectangleF=NewRectangleF(location,size)page.Canvas.DrawString(label,font2,PdfBrushes.MediumPurple,bounds)bounds=NewRectangleF(bounds.Right+3,bounds.Top,font2.Height/2,font2.Height)Dimannotation1AsPdfAttachmentAnnotation=NewPdfAttachmentAnnotation(bounds,sample.docx,data)annotation1.Color=Color.Purpleannotation1.Flags=PdfAnnotationFlags.NoZoomannotation1.Icon=PdfAttachmentIcon.Graphannotation1.Text=sample.docx(TryCast(page,PdfNewPage)).Annotations.Add(annotation1)doc.SaveToFile(Attachment2.pdf)System.Diagnostics.Process.Start(Attachment2.pdf)EndSubEndClassEndNamespace2.获取PDF附件2.1获取文件附件C#usingSpire.Pdf;usingSpire.Pdf.Attachments;usingSystem;usingSystem.IO;namespaceGetAttachment_PDF{classProgram{staticvoidMain(string[]args){//创建PDF文档,加载测试文件PdfDocumentpdf=newPdfDocument();pdf.LoadFromFile(Attachment1.pdf);//获取文档中的第一个文件附件PdfAttachmentattachment=pdf.Attachments[0];//获取该附件的信息Console.WriteLine(Name:{0},attachment.FileName);Console.WriteLine(MimeType:{0},attachment.MimeType);Console.WriteLine(Description:{0},attachment.Description);Console.WriteLine(CreationDate:{0},attachment.CreationDate);Console.WriteLine(ModificationDate:{0},attachment.ModificationDate);//将附件的数据写入到新文档File.WriteAllBytes(attachment.FileName,attachment.Data);Console.ReadKey();}}}测试结果:

VB.NImpoImpoImpoImpoNameNETortsSpire.PortsSpire.PortsSystemortsSystem.espaceGetAtClassProgrPrivateDimpdfDimConConConConConFilConEndSubEndClassPdfPdf.AttachmenIOttachment_PDFrameSharedSubmpdfAsPdfDf.LoadFromFilmattachmentnsole.WriteLinsole.WriteLinsole.WriteLinsole.WriteLinsole.WriteLile.WriteAllBynsole.ReadKeybntsFMain(ByValDocument=Nle(AttachmeAsPdfAttacine(Name:{ine(MimeTypine(Descripine(Creatioine(Modificytes(attachmy()argsAsStrNewPdfDocument1.pdf)chment=pdf{0},attachpe:{0},atption:{0},onDate:{0}cationDate:ment.FileNamring())ment()f.Attachmenthment.FileNattachment.Mi,attachment},attachme:{0},attame,attachmets(0)ame)imeType)t.Descriptioent.Creationachment.Modient.Data)on)nDate)ificationDate)EndNamespace2.2获取注释附件C#usingSpire.Pdf;usingSpire.Pdf.Annotations;usingSystem.Collections.Generic;usingSystem.IO;namespaceGetAttachment2{classProgram{staticvoidMain(string[]args){//加载PDF文档PdfDocumentpdf=newPdfDocument();pdf.LoadFromFile(Attachment2.pdf);//实例化一个list并将文档内所有页面的Attachmentannotations添加到该listListPdfAttachmentAnnotationWidgetattaches=newListPdfAttachmentAnnotationWidget();foreach(PdfPageBasepageinpdf.Pages){foreach(PdfAnnotationannotationinpage.AnnotationsWidget){attaches.Add(annotationasPdfAttachmentAnnotationWidget);}}//遍历list,将附件数据写入到新文档for(inti=0;iattaches.Count;i++){File.WriteAllBytes(attaches[i].FileName,attaches[i].Data);}}}}测试文档:

VB.NImpoImpoImpoImpoNamePdfANETortsSpire.PortsSpire.PortsSystem.ortsSystem.espaceGetAtClassProgrPrivateDimpdfDimAttachmentAnForNexForNexEndSubPdfPdf.AnnotatioCollectionsIOttachment2rameSharedSubmpdfAsPdfDf.LoadFromFilmattachesAsnnotationWidgrEachpageAForEachanattacheNextxtriAsIntegeFile.WriteAxtbons.GenericMain(ByValDocument=Nle(AttachmesList(Ofget)()AsPdfPageBannotationAses.Add(TryCaer=0ToatAllBytes(attargsAsStrNewPdfDocument2.pdf)PdfAttachmaseInpdf.PsPdfAnnotatast(annotatittaches.Countaches(i).Firing())ment()mentAnnotatiPagestionInpageion,PdfAttant-1ileName,attionWidget)e.AnnotationachmentAnnottaches(i).Da=NewLisnsWidgettationWidgetata)st(Of))EndClassEndNamespace3.删除PDF附件3.1删除文件附件C#usingSpire.Pdf;namespaceDeleteAttachment_PDF{classProgram{staticvoidMain(string[]args){//加载PDF文档PdfDocumentpdf=newPdfDocument();pdf.LoadFromFile(Attachment1.pdf);//删除文档的所有文件附件for(inti=0;ipdf.Attachments.Count;i++){pdf.Attachments.RemoveAt(i);}//保存并打开文档pdf.SaveToFile(Remove.pdf);System.Diagnostics.Process.Start(Remove.pdf);}}}VB.NETImportsSpire.PdfNamespaceDeleteAttachment_PDFClassProgramPrivateSharedSubMain(ByValargsAsString())DimpdfAsPdfDocument=NewPdfDocument()pdf.LoadFromFile(Attachment1.pdf)ForiAsInteger=0Topdf.Attachments.Count-1pdf.Attachments.RemoveAt(i)Nextpdf.SaveToFile(Remove.pdf)System.Diagnostics.Process.Start(Remove.pdf)EndSubEndClassEndNamespace3.2删除注释附件C#usingSpire.Pdf;usingSpire.Pdf.Annotations;namespaceDeleteAttachment2{classProgram{staticvoidMain(string[]args){//加载PDF文档PdfDocumentpdf=newPdfDocument();pdf.LoadFromFile(Attachment2.pdf);//删除文档的所有注释附件foreach(PdfPageBasepageinpdf.Pages){for(inti=0;ipage.AnnotationsWidget.Count;i++){PdfAnno

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论