C#-添加、獲取、刪除PDF附件_第1頁(yè)
C#-添加、獲取、刪除PDF附件_第2頁(yè)
C#-添加、獲取、刪除PDF附件_第3頁(yè)
C#-添加、獲取、刪除PDF附件_第4頁(yè)
C#-添加、獲取、刪除PDF附件_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1/1C#-添加、獲取、刪除PDF附件C#/VB.NET如何添加、獲取、刪除PDF附件概述附件,指隨同文件發(fā)出的有關(guān)文件或物品。

在PDF文檔中,我們可以添加同類型的或其他類型的文檔作為附件內(nèi)容,而PDF中附件也可以分為兩種存在形式,一種是附件以普通文件形式存在,另一種是以注釋的形式存在。

在下面的示例中介紹了如何分別添加以上兩種形式的PDF附件。

此外,根據(jù)PDF附件的不同添加方式,我們?cè)讷@取PDF附件信息或刪除PDF附件時(shí),也可以分情況來(lái)執(zhí)行操作。

要點(diǎn)索引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){//創(chuàng)建一個(gè)PdfDocument類對(duì)象,加載測(cè)試文檔}測(cè)試VB.NImpoImpoNamePdfpdf//初Pdf//將pdf//保pdfSys}}試結(jié)果:

NETortsSpire.PortsSpire.PespaceAddAtClassProgrPrivateDimpdfDocumentpdf.LoadFromFil初始化PdfAttaAttachmenta將文檔添加到原.Attachments保存并打開(kāi)文檔.SaveToFiletem.DiagnostPdfPdf.Attachmenttachment_PDFrameSharedSubmpdfAsPdfDf.LoadFromFilf=newPdfDle(sample.pachment類實(shí)例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){//創(chuàng)建一個(gè)PdfDocument類對(duì)象,加載測(cè)試文檔PdfDocumentdoc=newPdfDocument(sample.pdf);//給添加一個(gè)新頁(yè)面到文檔PdfPageBasepage=doc.Pages.Add();//添加文本到頁(yè)面,并設(shè)置文本格式(字體、題號(hào)、字體粗細(xì)、顏色、文本位置等)PdfTrueTypeFontfont1=newPdfTrueTypeFont(newFont(Arial,16f,System.Drawing.FontStyle.Bold));page.Canvas.DrawString(Attachments:,font1,PdfBrushes.CornflowerBlue,newPoint(50,50));//將文檔作為注釋添加到頁(yè)面PdfTrueTypeFontfont2=newPdfTrueTypeFont(newFont(Arial,12f,System.Drawing.FontStyle.Bold));PointFlocation=newPointF(52,80);//設(shè)置注釋標(biāo)簽,標(biāo)簽內(nèi)容為作為附件的文檔Stringlabel=sample.docx;byte[]data=File.ReadAllBytes(sample.docx);SizeFsize=font2.MeasureString(label);fontsam}測(cè)試VB.NImpoImpoImpoImpoImpoImpoName//設(shè)Recpagbout2.Height);Pdfmple.docx,annannannann(pa//保docSys}}試結(jié)果:

NETortsSpire.PortsSpire.PortsSpire.PortsSystemortsSystem.ortsSystem.espaceAddAt設(shè)置注釋位置、tangleFboune.Canvas.Drands=newReAttachmentAndata);otation1.Colotation1.Flaotation1.Icootation1.TexgeasPdfNew保存并打開(kāi)文檔.SaveToFiletem.DiagnostPdfPdf.AnnotatioPdf.GraphicsDrawingIOttachment2、大小、顏色nds=newReawString(labectangleF(bonnotationanlor=Color.ags=PdfAnnon=PdfAttaxt=samplewPage).Annot檔(Attachmenttics.Processons色、標(biāo)簽類型以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){//創(chuàng)建PDF文檔,加載測(cè)試文件PdfDocumentpdf=newPdfDocument();pdf.LoadFromFile(Attachment1.pdf);//獲取文檔中的第一個(gè)文件附件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);//將附件的數(shù)據(jù)寫入到新文檔File.WriteAllBytes(attachment.FileName,attachment.Data);Console.ReadKey();}}}測(cè)試結(jié)果:

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);//實(shí)例化一個(gè)list并將文檔內(nèi)所有頁(yè)面的Attachmentannotations添加到該listListPdfAttachmentAnnotationWidgetattaches=newListPdfAttachmentAnnotationWidget();foreach(PdfPageBasepageinpdf.Pages){foreach(PdfAnnotationannotationinpage.AnnotationsWidget){attaches.Add(annotationasPdfAttachmentAnnotationWidget);}}//遍歷list,將附件數(shù)據(jù)寫入到新文檔for(inti=0;iattaches.Count;i++){File.WriteAllBytes(attaches[i].FileName,attaches[i].Data);}}}}測(cè)試文檔:

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);}//保存并打開(kā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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論