真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#/VB.NET如何添加、獲取、刪除PDF附件-創(chuàng)新互聯(lián)

概述

附件,指隨同文件發(fā)出的有關(guān)文件或物品。在PDF文檔中,我們可以添加同類型的或其他類型的文檔作為附件內(nèi)容,而PDF中附件也可以分為兩種存在形式,一種是附件以普通文件形式存在,另一種是以注釋的形式存在。在下面的示例中介紹了如何分別添加以上兩種形式的PDF附件。此外,根據(jù)PDF附件的不同添加方式,我們在獲取PDF附件信息或刪除PDF附件時,也可以分情況來執(zhí)行操作。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、景寧畬族自治網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為景寧畬族自治等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

要點(diǎn)索引

1.添加PDF附件
1.1 以普通文檔形式添加附件
1.2 以文檔注釋形式添加附件
2.獲取PDF附件
2.1 獲取文件附件
2.2 獲取注釋附件
3.刪除PDF附件
3.1 刪除文件附件
3.2 刪除注釋附件

工具使用

Spire.PDF for .NET 4.0

示例操作

1.添加PDF附件

1.1 以普通文檔形式添加附件

Csharp

using Spire.Pdf;
using Spire.Pdf.Attachments;

namespace AddAttachment_PDF
{
    class Program
    {
        static void Main(string[] args)
        {
            //創(chuàng)建一個PdfDocument類對象,加載測試文檔
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("sample.pdf");

            //初始化PdfAttachment類實(shí)例,加載需要附加的文檔
            PdfAttachment attachment = new PdfAttachment("New.pdf");

            //將文檔添加到原PDF文檔的附件集合中
            pdf.Attachments.Add(attachment);

            //保存并打開文檔
            pdf.SaveToFile("Attachment1.pdf");
            System.Diagnostics.Process.Start("Attachment1.pdf");
        }
    }
}

測試結(jié)果:
C#/VB.NET 如何添加、獲取、刪除PDF附件

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Attachments

Namespace AddAttachment_PDF

    Class Program

        Private Shared Sub Main(ByVal args As String())
            Dim pdf As PdfDocument = New PdfDocument()
            pdf.LoadFromFile("sample.pdf")
            Dim attachment As PdfAttachment = New PdfAttachment("New.pdf")
            pdf.Attachments.Add(attachment)
            pdf.SaveToFile("Attachment1.pdf")
            System.Diagnostics.Process.Start("Attachment1.pdf")
        End Sub
    End Class
End Namespace

1.2 以文檔注釋形式添加附件

Csharp

using Spire.Pdf;
using Spire.Pdf.Annotations;
using Spire.Pdf.Graphics;
using System;
using System.Drawing;
using System.IO;

namespace AddAttachment2
{
    class Program
    {
        static void Main(string[] args)
        {
            //創(chuàng)建一個PdfDocument類對象,加載測試文檔
            PdfDocument doc = new PdfDocument("sample.pdf");
            //給添加一個新頁面到文檔
            PdfPageBase page = doc.Pages.Add();

            //添加文本到頁面,并設(shè)置文本格式(字體、題號、字體粗細(xì)、顏色、文本位置等)
            PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial", 16f, System.Drawing.FontStyle.Bold));
            page.Canvas.DrawString("Attachments:", font1, PdfBrushes.CornflowerBlue, new Point(50, 50));

            //將文檔作為注釋添加到頁面
            PdfTrueTypeFont font2 = new PdfTrueTypeFont(new Font("Arial", 12f, System.Drawing.FontStyle.Bold));
            PointF location = new PointF(52, 80);
            //設(shè)置注釋標(biāo)簽,標(biāo)簽內(nèi)容為作為附件的文檔
            String label = "sample.docx";
            byte[] data = File.ReadAllBytes("sample.docx");
            SizeF size = font2.MeasureString(label);
            //設(shè)置注釋位置、大小、顏色、標(biāo)簽類型以及顯示文本等
            RectangleF bounds = new RectangleF(location, size);
            page.Canvas.DrawString(label, font2, PdfBrushes.MediumPurple, bounds);
            bounds = new RectangleF(bounds.Right + 3, bounds.Top, font2.Height / 2, font2.Height);
            PdfAttachmentAnnotation annotation1 = new PdfAttachmentAnnotation(bounds, "sample.docx", data);
            annotation1.Color = Color.Purple;
            annotation1.Flags = PdfAnnotationFlags.NoZoom;
            annotation1.Icon = PdfAttachmentIcon.Graph;
            annotation1.Text = "sample.docx";
            (page as PdfNewPage).Annotations.Add(annotation1);

            //保存并打開文檔
            doc.SaveToFile("Attachment2.pdf");
            System.Diagnostics.Process.Start("Attachment2.pdf");
        }
    }
}

測試結(jié)果:
C#/VB.NET 如何添加、獲取、刪除PDF附件

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Annotations
Imports Spire.Pdf.Graphics
Imports System
Imports System.Drawing
Imports System.IO

Namespace AddAttachment2

    Class Program

        Private Shared Sub Main(ByVal args As String())
            Dim doc As PdfDocument = New PdfDocument("sample.pdf")
            Dim page As PdfPageBase = doc.Pages.Add()
            Dim font1 As PdfTrueTypeFont = New PdfTrueTypeFont(New Font("Arial", 16F, System.Drawing.FontStyle.Bold))
            page.Canvas.DrawString("Attachments:", font1, PdfBrushes.CornflowerBlue, New Point(50, 50))
            Dim font2 As PdfTrueTypeFont = New PdfTrueTypeFont(New Font("Arial", 12F, System.Drawing.FontStyle.Bold))
            Dim location As PointF = New PointF(52, 80)
            Dim label As String = "sample.docx"
            Dim data As Byte() = File.ReadAllBytes("sample.docx")
            Dim size As SizeF = font2.MeasureString(label)
            Dim bounds As RectangleF = New RectangleF(location, size)
            page.Canvas.DrawString(label, font2, PdfBrushes.MediumPurple, bounds)
            bounds = New RectangleF(bounds.Right + 3, bounds.Top, font2.Height / 2, font2.Height)
            Dim annotation1 As PdfAttachmentAnnotation = New PdfAttachmentAnnotation(bounds, "sample.docx", data)
            annotation1.Color = Color.Purple
            annotation1.Flags = PdfAnnotationFlags.NoZoom
            annotation1.Icon = PdfAttachmentIcon.Graph
            annotation1.Text = "sample.docx"
            (TryCast(page, PdfNewPage)).Annotations.Add(annotation1)
            doc.SaveToFile("Attachment2.pdf")
            System.Diagnostics.Process.Start("Attachment2.pdf")
        End Sub
    End Class
End Namespace

2.獲取PDF附件

2.1 獲取文件附件

Csharp

using Spire.Pdf;
using Spire.Pdf.Attachments;
using System;
using System.IO;

namespace GetAttachment_PDF
{
    class Program
    {
        static void Main(string[] args)
        {
            //創(chuàng)建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);

            //將附件的數(shù)據(jù)寫入到新文檔
            File.WriteAllBytes(attachment.FileName, attachment.Data);
            Console.ReadKey();
        }
    }
}

測試結(jié)果:
C#/VB.NET 如何添加、獲取、刪除PDF附件

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Attachments
Imports System
Imports System.IO

Namespace GetAttachment_PDF

    Class Program

        Private Shared Sub Main(ByVal args As String())
            Dim pdf As PdfDocument = New PdfDocument()
            pdf.LoadFromFile("Attachment1.pdf")
            Dim attachment As PdfAttachment = 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()
        End Sub
    End Class
End Namespace

2.2 獲取注釋附件

Csharp

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

            //實(shí)例化一個list并將文檔內(nèi)所有頁面的Attachment annotations添加到該list
            List attaches = new List();
            foreach (PdfPageBase page in pdf.Pages)
            {
                foreach (PdfAnnotation annotation in page.AnnotationsWidget)
                {
                    attaches.Add(annotation as PdfAttachmentAnnotationWidget);
                }
            }
            //遍歷list,將附件數(shù)據(jù)寫入到新文檔
            for (int i = 0; i < attaches.Count; i++)
            {
                File.WriteAllBytes(attaches[i].FileName, attaches[i].Data);
            }

        }
    }
}

測試結(jié)果:
C#/VB.NET 如何添加、獲取、刪除PDF附件

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Annotations
Imports System.Collections.Generic
Imports System.IO

Namespace GetAttachment2

    Class Program

        Private Shared Sub Main(ByVal args As String())
            Dim pdf As PdfDocument = New PdfDocument()
            pdf.LoadFromFile("Attachment2.pdf")
            Dim attaches As List(Of PdfAttachmentAnnotationWidget) = New List(Of PdfAttachmentAnnotationWidget)()
            For Each page As PdfPageBase In pdf.Pages
                For Each annotation As PdfAnnotation In page.AnnotationsWidget
                    attaches.Add(TryCast(annotation, PdfAttachmentAnnotationWidget))
                Next
            Next

            For i As Integer = 0 To attaches.Count - 1
                File.WriteAllBytes(attaches(i).FileName, attaches(i).Data)
            Next
        End Sub
    End Class
End Namespace

3.刪除PDF附件

3.1 刪除文件附件

Csharp

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

        }
    }
}

VB.NET

Imports Spire.Pdf

Namespace DeleteAttachment_PDF

    Class Program

        Private Shared Sub Main(ByVal args As String())
            Dim pdf As PdfDocument = New PdfDocument()
            pdf.LoadFromFile("Attachment1.pdf")
            For i As Integer = 0 To pdf.Attachments.Count - 1
                pdf.Attachments.RemoveAt(i)
            Next

            pdf.SaveToFile("Remove.pdf")
            System.Diagnostics.Process.Start("Remove.pdf")
        End Sub
    End Class
End Namespace

3.2 刪除注釋附件

Csharp

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

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Annotations

Namespace DeleteAttachment2

    Class Program

        Private Shared Sub Main(ByVal args As String())
            Dim pdf As PdfDocument = New PdfDocument()
            pdf.LoadFromFile("Attachment2.pdf")
            For Each page As PdfPageBase In pdf.Pages
                For i As Integer = 0 To page.AnnotationsWidget.Count - 1
                    Dim annotation As PdfAnnotation = TryCast(page.AnnotationsWidget(i), PdfAttachmentAnnotationWidget)
                    page.AnnotationsWidget.Remove(annotation)
                Next
            Next

            pdf.SaveToFile("Result.pdf")
            System.Diagnostics.Process.Start("Result.pdf")
        End Sub
    End Class
End Namespace

調(diào)試程序后,生成的文檔就沒有附件了。

以上全部內(nèi)容為本次關(guān)于“C#/VB.NT操作PDF附件”的方法講述。代碼供參考,希望能給各位提供一定解決問題的思路。

( 如需轉(zhuǎn)載本文,請注明出處。)

感謝閱讀!

《本文完》

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。


本文題目:C#/VB.NET如何添加、獲取、刪除PDF附件-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://weahome.cn/article/cccgis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部