版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 漏肩风教学课件
- 健康促进社区实施课件
- 小毛驴知识讲义
- 《沟通与口才》特训
- 2024届江苏省徐州市撷秀初级中学高三四月调研测试数学试题试卷
- 2024年税务师《税法1》考前必刷必练题库500题(含真题、必会题)
- 自律精神与自我管理能力培养主题班会
- 2024-2025学年冀教版小学五年级上学期期中英语试题及答案指导
- 《电子商务概论全部》课件
- 双十一保险盛宴
- 教师培训讲座(32张)课件
- 约翰·费斯克及理解大众文化
- 湘教版初中数学知识点总复习
- 手机电子围栏侦码系统解决方案产品介绍汇编
- 沥青MSDS安全技术说明书(共6页)
- 中药、天然药物综述资料撰写的格式和内容的技术指导原则——临床
- 201809早教商业模式与竞争力专题光明地平线bfam剖析中国2b业务实践思考
- 水驱气藏开发特点与开发技术
- 桥架支架计算表格-精准版
- 常远鄂博小品视频-常远鄂博小品《玲儿想丁当》台词剧本
- 9_公司中层干部能力素质360度评估表
评论
0/150
提交评论