• <menu id="w2i4a"></menu>
  • logo Aspose.PDF for .NET開(kāi)發(fā)者使用教程

    文檔首頁(yè)>>Aspose.PDF for .NET開(kāi)發(fā)者使用教程>>PDF轉(zhuǎn)換控件Aspose.PDF for .Net使用教程(六):將SWF文件注釋添加到PDF文檔

    PDF轉(zhuǎn)換控件Aspose.PDF for .Net使用教程(六):將SWF文件注釋添加到PDF文檔


    Aspose.PDF for .NET是一種高PDF處理和解析API,用于在跨平臺(tái)應(yīng)用程序中執(zhí)行文檔管理和操作任務(wù)。API可以輕松用于生成、修改、轉(zhuǎn)換、渲染、保護(hù)和打印PDF文檔,而無(wú)需使用Adobe Acrobat。此外,API還提供PDF壓縮選項(xiàng),表格創(chuàng)建和操作,圖形和圖像功能,廣泛的超鏈接功能,印章和水印任務(wù),擴(kuò)展的安全控制和自定義字體處理。

    【下載體驗(yàn)Aspose.PDF for .NET最新版】

    在接下來(lái)的系列教程中,將為開(kāi)發(fā)者帶來(lái)Aspose.PDF for .NET的一系列使用教程,例如進(jìn)行文檔間的轉(zhuǎn)換,如何標(biāo)記PDF文件,如何使用表單和圖表等等。

    第二章:使用注釋

    ▲第二節(jié):添加,刪除和獲取注釋

    將SWF文件注釋添加到PDF文檔


    PDF文檔中的注釋包含在Page對(duì)象的Annotations集合中。此集合僅包含該單個(gè)頁(yè)面的所有注釋?zhuān)好總€(gè)頁(yè)面都有自己的Annotations集合。要向特定頁(yè)面添加注釋?zhuān)?qǐng)Annotations使用該Add方法將其添加到該頁(yè)面的集合中。要將SWF文件作為注釋包含在PDF文檔中,請(qǐng)使用命名空間中的ScreenAnnotation類(lèi)Aspose.PDF.InteractiveFeatures.Annotations。

    ScreenAnnotation 有三個(gè)參數(shù):

    1. 要添加注釋的頁(yè)面
    2. 矩形對(duì)象,它定義了PDF中顯示注釋的區(qū)域
    3. 指向SWF多媒體文件的路徑

    要添加SWF文件作為注釋?zhuān)?/span>

    1. 創(chuàng)建一個(gè)ScreenAnnotation實(shí)例
    2. 使用add方法將其添加到頁(yè)面的注釋集合中

    下面的代碼片段向您展示了如何在PDF頁(yè)面中添加SWF注釋?zhuān)?/span>

    //指向documents目錄的路徑
    string dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
    
    // 打開(kāi)PDF文件
    Document doc = new Document(dataDir + "AddSwfFileAsAnnotation.pdf");
                
    // 獲取需要添加注釋的頁(yè)面的引用
    Page page = doc.Pages[1];
                
    // 使用.swf多媒體文件作為參數(shù)創(chuàng)建ScreenAnnotation對(duì)象
    ScreenAnnotation annotation = new ScreenAnnotation(page, new Aspose.Pdf.Rectangle(0, 400, 600, 700), dataDir + "input.swf");
               
    // 將注釋添加到頁(yè)面的注釋集合中
    page.Annotations.Add(annotation);
    
    dataDir = dataDir + "AddSwfFileAsAnnotation_out.pdf";
    //保存帶有注釋的更新PDF文檔
    doc.Save(dataDir);


    從PDF文件的頁(yè)面中刪除所有注釋

    一個(gè)Page對(duì)象的AnnotationCollection集合包含對(duì)特定頁(yè)面的所有注釋。要從頁(yè)面中刪除所有注釋?zhuān)?qǐng)調(diào)用集合的Delete方法AnnotationCollectoin。

    以下代碼段顯示了如何從特定頁(yè)面刪除所有注釋?zhuān)?/span>

    // 文檔目錄的路徑
    string dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
    
    //打開(kāi)文檔
    Document pdfDocument = new Document(dataDir + "DeleteAllAnnotationsFromPage.pdf");
    
    //刪除特定注釋
    pdfDocument.Pages[1].Annotations.Delete();
    
    dataDir = dataDir + "DeleteAllAnnotationsFromPage_out.pdf";
    //保存更新的文檔
    pdfDocument.Save(dataDir);

    從PDF文件中刪除特定注釋


    要從PDF中刪除特定注釋?zhuān)?qǐng)調(diào)用AnnotationCollection集合的Delete方法。此集合屬于該P(yáng)age對(duì)象。該Delete方法需要您要?jiǎng)h除的注釋的索引。然后,保存更新的PDF文件。以下代碼段顯示了如何刪除特定注釋?zhuān)?/span>

    // 文檔目錄的路徑
    string dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
    
    //打開(kāi)文檔
    Document pdfDocument = new Document(dataDir + "DeleteParticularAnnotation.pdf");
    
    //刪除特定注釋
    pdfDocument.Pages[1].Annotations.Delete(1);
    
    dataDir = dataDir + "DeleteParticularAnnotation_out.pdf";
    // 保存更新的文檔
    pdfDocument.Save(dataDir);

    從PDF文檔的頁(yè)面獲取所有注釋

    Aspose.PDF允許您從整個(gè)文檔或給定頁(yè)面獲取注釋。要從PDF文檔中的頁(yè)面獲取所有注釋?zhuān)?qǐng)遍歷AnnotationCollection所需頁(yè)面資源的集合。以下代碼段顯示了如何獲取頁(yè)面的所有注釋?zhuān)?/span>

    //文檔目錄的路徑
    string dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
    
    //打開(kāi)文檔
    Document pdfDocument = new Document(dataDir + "GetAllAnnotationsFromPage.pdf");
    
    //遍歷所有注釋
    foreach (MarkupAnnotation annotation in pdfDocument.Pages[1].Annotations)
    {
        //獲取注釋屬性
        Console.WriteLine("Title : {0} ", annotation.Title);
        Console.WriteLine("Subject : {0} ", annotation.Subject);
        Console.WriteLine("Contents : {0} ", annotation.Contents);                
    }

    從PDF文件中獲取特定注釋

    注釋與單個(gè)頁(yè)面相關(guān)聯(lián)并存儲(chǔ)在Page對(duì)象的AnnotationCOllection集合中。要獲取特定注釋?zhuān)?qǐng)指定其索引。例如,這返回一個(gè)Annotation需要轉(zhuǎn)換為特定注釋類(lèi)型的對(duì)象TextAnnotation。以下代碼段顯示了如何獲取特定注釋及其屬性:

    //文檔目錄的路徑
    string dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
    
    //打開(kāi)文檔
    Document pdfDocument = new Document(dataDir + "GetParticularAnnotation.pdf");
    
    //獲取特定注釋
    TextAnnotation textAnnotation = (TextAnnotation)pdfDocument.Pages[1].Annotations[1];
                
    //獲取注釋屬性
    Console.WriteLine("Title : {0} ", textAnnotation.Title);
    Console.WriteLine("Subject : {0} ", textAnnotation.Subject);
    Console.WriteLine("Contents : {0} ", textAnnotation.Contents);

    獲取注釋資源

    Aspose.PDF允許您從整個(gè)文檔或給定頁(yè)面獲取注釋資源。以下代碼片段顯示了如何獲取注釋資源作為輸入PDF文件的FileSpecification對(duì)象:

    // 文檔目錄的路徑
    string dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
    
    //打開(kāi)文檔
    Document doc = new Document(dataDir + "AddAnnotation.pdf");
    //創(chuàng)建注釋
    ScreenAnnotation sa = new ScreenAnnotation(doc.Pages[1], new Rectangle(100, 400, 300, 600), dataDir + "AddSwfFileAsAnnotation.swf");
    doc.Pages[1].Annotations.Add(sa);
    //保存文檔
    doc.Save(dataDir + "GetResourceOfAnnotation_Out.pdf");
    //打開(kāi)文檔
    Document doc1 = new Document(dataDir + "GetResourceOfAnnotation_Out.pdf");
    //獲取注釋的操作
    RenditionAction action = (doc.Pages[1].Annotations[1] as ScreenAnnotation).Action as RenditionAction;
    //獲取演繹動(dòng)作的再現(xiàn)
    Rendition rendition = ((doc.Pages[1].Annotations[1] as ScreenAnnotation).Action as RenditionAction).Rendition;
    //媒體剪輯
    MediaClip clip = (rendition as MediaRendition).MediaClip;
    FileSpecification data = (clip as MediaClipData).Data;
    MemoryStream ms = new MemoryStream();
    byte[] buffer = new byte[1024];
    int read = 0;
    //可以在FileSpecification.Contents中訪問(wèn)媒體數(shù)據(jù)
    Stream source = data.Contents;
    while ((read = source.Read(buffer, 0, buffer.Length)) > 0)
    {
        ms.Write(buffer, 0, read);
    }
    Console.WriteLine(rendition.Name);
    Console.WriteLine(action.RenditionOperation);

    *想要購(gòu)買(mǎi)Aspose.PDF for .NET正版授權(quán)的朋友可以聯(lián)系在線客服了解詳情哦~

    歡迎加入ASPOSE技術(shù)交流QQ群,各類(lèi)資源及時(shí)分享,技術(shù)問(wèn)題交流討論!(掃描下方二維碼加入群聊)

    1560231367164.png


    掃碼咨詢(xún)


    添加微信 立即咨詢(xún)

    電話咨詢(xún)

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();