• <menu id="w2i4a"></menu>
  • logo Aspose.PDF使用教程

    文檔首頁(yè)>>Aspose.PDF使用教程>>Aspose.PDF功能演示:使用C#添加,刪除,提取和替換PDF中的圖像

    Aspose.PDF功能演示:使用C#添加,刪除,提取和替換PDF中的圖像


    一張圖片勝過(guò)千言萬(wàn)語(yǔ)。因此,圖像和圖形在PDF和其他文檔中起著重要的作用。由于PDF已成為最流行和廣泛使用的文件格式之一,因此本文著眼于如何以編程方式處理PDF文件中的圖像。更精確地講,本文將學(xué)習(xí)如何使用C#從PDF文件中添加,提取,刪除和替換圖像。

    • 使用C#在PDF中添加圖像
    • 使用C#從PDF提取圖像
    • 使用C#從PDF刪除圖像
    • 使用C#替換PDF中的圖像

    .NET API的Aspose.PDF可從.NET應(yīng)用程序中創(chuàng)建和處理PDF文檔。使用API,可以輕松執(zhí)行基本以及高級(jí)的PDF自動(dòng)化功能。此外,可以處理現(xiàn)有PDF文件中的圖像。 您可以從“新發(fā)行版”部分下載最新的DLL文件,

    點(diǎn)擊下載最新版Aspose.PDF


    使用C#在PDF文件中添加圖像

    以下是使用Aspose.PDF for .NET將圖像添加到PDF文件的步驟。

    • 使用Document類(lèi)創(chuàng)建新的或加載現(xiàn)有的PDF文件。
    • 在Page對(duì)象中獲取所需頁(yè)面的引用。
    • 將圖像添加到頁(yè)面的資源集合。
    • 使用以下運(yùn)算符將圖像放置在頁(yè)面上:
      • GSave運(yùn)算符可保存當(dāng)前的圖形狀態(tài)。
      • ConcatenateMatrix運(yùn)算符,用于指定要放置圖像的位置。
      • 做操作員在頁(yè)面上繪制圖像。
      • GRestore操作員保存更新的圖形狀態(tài)。
    • 使用Document.Save(String)方法保存更新的PDF文件。

    下面的代碼示例演示如何使用C#將圖像添加到PDF文件。

    // Open document
    Document pdfDocument = new Document("AddImage.pdf");
    
    // Set coordinates
    int lowerLeftX = 100;
    int lowerLeftY = 100;
    int upperRightX = 200;
    int upperRightY = 200;
    
    // Get the page where image needs to be added
    Page page = pdfDocument.Pages[1];
    
    // Load image into stream
    FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);
    
    // Add image to Images collection of Page Resources
    page.Resources.Images.Add(imageStream);
    
    // Using GSave operator: this operator saves current graphics state
    page.Contents.Add(new Aspose.Pdf.Operators.GSave());
    
    // Create Rectangle and Matrix objects
    Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
    Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });
    
    // Using ConcatenateMatrix (concatenate matrix) operator: defines how image must be placed
    page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
    XImage ximage = page.Resources.Images[page.Resources.Images.Count];
    
    // Using Do operator: this operator draws image
    page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
    
    // Using GRestore operator: this operator restores graphics state
    page.Contents.Add(new Aspose.Pdf.Operators.GRestore());
    
    // Save updated document
    pdfDocument.Save("AddImage_out.pdf");
    

    使用C#從PDF提取圖像

    如果要從PDF文件中提取所有圖像,可以按照以下步驟操作。

    • 使用Document類(lèi)加載現(xiàn)有的PDF文件。
    • 使用索引從特定頁(yè)面的Resources集合中獲得XImage對(duì)象中所需的圖像。
    • 使用XImage.Save(FileStream,ImageFormat)方法將提取的圖像保存為所需的格式。

    下面的代碼示例演示如何使用C#從PDF提取圖像。

    // Open document
    Document pdfDocument = new Document("ExtractImages.pdf");
    
    // Extract a particular image
    XImage xImage = pdfDocument.Pages[1].Resources.Images[1];
    
    FileStream outputImage = new FileStream("output.jpg", FileMode.Create);
    
    // Save output image
    xImage.Save(outputImage, ImageFormat.Jpeg);
    outputImage.Close();
    

    使用C#從PDF刪除圖像

    一旦可以訪問(wèn)PDF頁(yè)面的資源,就可以從其中刪除圖像。以下是使用C#從PDF文件中刪除圖像的步驟。

    • Delete() –刪除所有圖像。
    • Delete(Int32) –按索引刪除圖像。
      • Delete(String) –按名稱(chēng)刪除圖像。
    • 使用Document.Save(String)方法保存更新的PDF文件。

    以下代碼示例顯示了如何使用C#從PDF中刪除圖像。

    // Open document
    Document pdfDocument = new Document("DeleteImages.pdf");
    
    // Delete a particular image
    pdfDocument.Pages[1].Resources.Images.Delete(1);
    
    // Save updated PDF file
    pdfDocument.Save("output.pdf");
    

    使用C#替換PDF中的圖像

    .NET的Aspose.PDF還可讓您替換PDF中的特定圖像。為此,您可以替換頁(yè)面圖像集中的圖像。以下是使用C#替換PDF中的圖像的步驟。

    • 使用Document類(lèi)加載PDF文件。
    • 使用Document.Pages [1] .Resources.Images.Replace(Int32,Stream,Int32,Boolean)方法替換所需的圖像。
    • 使用Document.Save(String)方法保存更新的PDF文件。

    下面的代碼示例演示如何使用C#替換PDF中的圖像。

    // Open document
    Document pdfDocument = new Document("input.pdf");
    
    // Replace a particular image
    pdfDocument.Pages[1].Resources.Images.Replace(1, new FileStream("lovely.jpg", FileMode.Open));
    
    // Save updated PDF file
    pdfDocument.Save("output.pdf");
    

    如果您有任何疑問(wèn)或需求,請(qǐng)隨時(shí)加入Aspose技術(shù)交流群(761297826),我們很高興為您提供查詢和咨詢
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    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); })();