IRONSOFTWAREHOME
PDF工具

如何在沒有 Adobe Pro 的情況下刪除 PDF

Curtis Chau
Curtis Chau
Updated: 2026年4月23日

IronPDF 提供簡化的圖像新增功能,只需更少的程式碼和永久授權,而 iText 則在更細粒度控制上更具優勢,但需要更多程式碼,並在 AGPL 下對商業用途有複雜的授權要求。

在 .NET 環境下處理 PDF 文件時,向文件新增圖像是許多應用程式的常見需求。 無論您是生成帶有公司徽標的發票,建立內嵌圖表的報告,還是製作帶有水印的自定義文件,將圖像嵌入 PDF 的能力都是必需的。 C# 中兩個受歡迎的 PDF 庫是IronPDF 和 iText。 本文比較了這兩個庫在新增圖像到 PDF 中的能力,考慮到易用性、性能、授權模型及圖像壓縮和格式支持等高級功能。

IronPDF 和 iText 的主要區別是什麼?

每個庫提供哪些圖像功能?

  • IronPDF: IronPDF 簡化了新增圖像到 PDF 的過程,內建支援本地和來自 URL 的遠程圖像。 它的 API 提供了對位置、寬度和縮放的控制。 該庫支持 JPEG、PNG、GIF、SVG 和WebGL 內容。 加蓋功能提供了水印、信頭和圖像覆蓋的方法。 Chrome 渲染引擎確保復雜圖形和響應式圖像的準確渲染。

    iText: iText 通過其底層 API 提供圖像嵌入功能。 它提供了一個處理 JPG 和 PNG 格式的靈活介面。 但是,您需要更多的程式碼來進行自定義,特別是在精確定位圖像或實現透明和旋轉時。 該庫需要手動處理坐標系統和縮放計算。 您通常需要實現自己的視口控件以實現響應性大小。

他們如何處理大文件和複雜操作?

商業使用的成本含意如何?

如何使用 IronPDF 向 PDF 新增圖像?

如何安裝和配置 IronPDF?

透過NuGet將 IronPDF 安裝到您的 C# 或 Visual Basic 專案中。 該庫支持多種安裝方法,包括Windows 安裝程式和Docker 部署:

PM > Install-Package IronPdf

安裝後,您可以使用 IronPDF 的API 參考開始新增圖像。 無縫運行在Windows、Linux 和MacOS 平台上。

在 IronPDF 中新增基本圖像是什麼樣的?

快速入門:使用 IronPDF 向 PDF 新增圖像 using IronPDF 向 PDF 新增圖像只需使用加蓋 API 的最少程式碼。

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2複製並運行這段程式碼片段。

    using IronPdf;
    using IronPdf.Editing;
    
    class Program
    {
        public static void Main(string[] args)
        {
            // Create a renderer to convert HTML to PDF
            ChromePdfRenderer renderer = new ChromePdfRenderer();
            
            // Render a basic PDF with some HTML content
            PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
            
            // Create an ImageStamper with the image URL
            ImageStamper stamper = new ImageStamper(new Uri("___PROTECTED_URL_61___"));
            
            // Configure image position and size
            stamper.HorizontalAlignment = HorizontalAlignment.Center;
            stamper.VerticalAlignment = VerticalAlignment.Middle;
            stamper.Width = 200;  // Width in pixels
            stamper.Height = 100; // Height in pixels
            
            // Apply the stamp (image) to the PDF document
            pdf.ApplyStamp(stamper);
            
            // Save the modified PDF to a file
            pdf.SaveAs("output.pdf");
        }
    }
    C#
  3. 3部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronPDF,透過免費試用
    arrow pointer

我如何新增水印和背景圖像?

IronPDF 擅長於向現有 PDF 新增水印和背景圖像。 多次加蓋操作和自定義定位也受到支持:

using IronPdf;
using IronPdf.Editing;

// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");

// Create a watermark with transparency
ImageStamper watermark = new ImageStamper("watermark.png")
{
    Opacity = 30,  // 30% opacity for subtle watermarking
    Rotation = -45, // Diagonal watermark
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Middle
};

// Apply watermark to all pages
pdf.ApplyStamp(watermark);

// Add a header logo
ImageStamper logo = new ImageStamper("company-logo.png")
{
    HorizontalOffset = Length.Millimeters(10),
    VerticalOffset = Length.Millimeters(10),
    Width = 150,
    Height = 50
};

pdf.ApplyStamp(logo, PageSelection.FirstPage);
pdf.SaveAs("watermarked-invoice.pdf");

您還可以建立含有多個圖像的複雜佈局:

// Add images from Base64 strings
string base64Image = Convert.ToBase64String(File.ReadAllBytes("signature.png"));
HtmlStamper signatureStamp = new HtmlStamper($"<img src='data:image/png;base64,{base64Image}'/>");
signatureStamp.HorizontalAlignment = HorizontalAlignment.Right;
signatureStamp.VerticalAlignment = VerticalAlignment.Bottom;
pdf.ApplyStamp(signatureStamp);

PDF 組件展示一個簡單的文件,包含

本範例使用 ChromePdfRenderer 類從 HTML 字串渲染出新的 PDF。 使用 IronPDF 的圖像加蓋工具,您可以從所提供的 URL 建立圖像並將其應用到PDF。 這顯示了用最少程式碼將圖像新增到您的PDF 頁面。 渲染選項提供對輸出質量的完整控制。

我如何在 IronPDF 中控制圖像位置和尺寸?

IronPDF為圖像放置提供了廣泛的自定義功能。 您可以通過加蓋工具的定位功能設置對齊和偏移來指定頁面位置。 該庫支持使用坐標的絕對定位和使用對齊選項的相對定位。 高級功能包括自定義紙張尺寸和邊距控制以獲得精確的佈局。

如何使用 iText 向 PDF 新增圖像?

如何安裝和配置 iText?

透過 NuGet 安裝 iText。 與 IronPDF 的完整平台支持不同,iText 的部署選項有限:

PM > Install-Package itext7

配置完成後,繼續使用 iText 的文件操作功能新增圖像。 該庫需要額外配置以進行字體管理和UTF-8 支持。

在 iText 中新增基本圖像是什麼樣的?

這裡是使用 iText 插入圖像的過程:

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;

class Program
{
    public static void Main(string[] args)
    {
        // Initialize PDF writer
        var pdfWriter = new PdfWriter("output.pdf");
        
        // Initialize PDF document
        var pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfWriter);
        
        // Initialize document
        var document = new Document(pdfDocument);
        
        // Create ImageData from image file
        ImageData imageData = ImageDataFactory.Create("iText.png");
        
        // Create an Image instance
        Image image = new Image(imageData);
        
        // Set fixed position for the image in the PDF
        image.SetFixedPosition(50, 100);  // x, y coordinates
        
        // Scale image to fit within specified dimensions
        image.ScaleToFit(200, 200);  // Width, Height
        
        // Add image to document
        document.Add(image);
        
        // Close the document
        document.Close();
    }
}

我如何新增多個圖像和處理複雜的佈局?

對於建立產品目錄或相冊等複雜場景,您需要手動管理佈局。 IronPDF 的目錄功能和書籤支持可以組織多頁文件:

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;
using iText.Layout.Properties;

// Create a grid of images
var pdfWriter = new PdfWriter("catalog.pdf");
var pdfDocument = new PdfDocument(pdfWriter);
var document = new Document(pdfDocument);

// Add images in a grid layout
float xPosition = 50;
float yPosition = 750;
int imagesPerRow = 3;
int currentImage = 0;

string[] imageFiles = { "product1.jpg", "product2.jpg", "product3.jpg", 
                       "product4.jpg", "product5.jpg", "product6.jpg" };

foreach (string imagePath in imageFiles)
{
    ImageData imageData = ImageDataFactory.Create(imagePath);
    Image image = new Image(imageData);
    
    // Calculate position
    int column = currentImage % imagesPerRow;
    int row = currentImage / imagesPerRow;
    
    float x = xPosition + (column * 180);
    float y = yPosition - (row * 250);
    
    image.SetFixedPosition(x, y);
    image.ScaleToFit(150, 200);
    
    document.Add(image);
    currentImage++;
}

document.Close();

PDF 檢視器顯示居中的 iText 標誌與 'CORE' 文字在一個空白頁面上——iText 的圖像插入的範例輸出,展示基本的定位和縮放能力

圖像被新增在坐標(50, 100),並縮放以適應 200x200 像素範圍。 使用 PdfWriter 建立輸出文件,啟用 PDF 寫入功能以處理圖像。 為了更好的組織,考慮使用頁碼和頁眉/頁尾。

我如何在 iText 中控制圖像位置和尺寸?

iText 提供了通過手動坐標計算進行定位和尺寸控制。 您可以調整圖像的縮放而保持長寬比,或拉伸到特定尺寸。 方法 SetFixedPosition 提供了精確的放置控制,並且您可以操控對齊和旋轉。 然而,它缺乏 IronPDF 的視口控制和響應式大小選項。

IronPDF 和 iText 的性能比較如何?

這兩個庫在將圖像新增到 PDF 方面存在顯著差異:

  • IronPDF 在性能方面有所提高,能夠有效處理多圖像的大型文件。 在尤其是圖形密集的文件中,它渲染 PDF 更快。 該庫支持異步操作和平行處理以提高傳輸量。 記憶體流操作減少磁碟 I/O 以提高性能。

  • iText 提供良好的性能,但可能在處理非常大的 PDF 或許多高解析度圖像時遇到困難。 雖然高效,但一些開發人員報告與 IronPDF 相比,在涉及多頁操作的複雜使用情況下渲染時間較長。 該庫缺少內建的線性化支持以進行網路優化。

有哪些高級圖像功能可用?

他們如何處理不同的圖像格式?

IronPDF 支持完整的圖像格式:

iText 支持標準格式:

  • JPEG/JPG
  • PNG,具有透明通道
  • GIF(僅第一幀)
  • TIFF(單頁)
  • BMP 和其他位圖格式

圖像質量和壓縮如何?

IronPDF 提供內建的壓縮選項,在文件大小和質量之間取得平衡。 該庫提供清理功能和平坦化功能:

// Configure compression when rendering
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.JpegQuality = 85; // 0-100 quality scale

// Compress existing PDFs with images
PdfDocument pdf = PdfDocument.FromFile("large-images.pdf");
pdf.CompressImages(60); // Compress to 60% quality
pdf.SaveAs("compressed.pdf");

// Additional optimization options
renderer.RenderingOptions.GrayScale = true; // Convert to grayscale
renderer.RenderingOptions.DPI = 150; // Reduce DPI for web viewing

iText 需要通過圖像資料操作來手動處理壓縮,增加了質量控制的實施複雜性。 你必須自主實施灰度轉換和DPI 調整。

我如何從現有的 PDF 中提取圖像?

IronPDF 提供可靠的圖像提取能力:

// Extract all images from a PDF
PdfDocument pdf = PdfDocument.FromFile("document.pdf");
var images = pdf.ExtractAllImages();

foreach (var image in images)
{
    // Save extracted images
    image.SaveAs($"extracted_image_{images.IndexOf(image)}.png");
}

// Extract images from specific pages
var pageImages = pdf.ExtractImagesFromPage(0); // First page

有什麼授權和定價模式?

  • IronPDF: IronPDF 提供簡單的永久授權,需要一次性購買。 這種方法提供了清晰的好處,避免了持續的費用或開源授權要求。 該庫包括完整支持和定期更新。 授權驗證是自動化的,並支持多種部署場景。

  • iText: iText 遵循 AGPL 授權,對開源項目免費,但對於網頁應用需要公開源程式碼發布。 商業授權可避免 AGPL 限制。 授權模式可能會使雲端部署變得複雜。

選擇哪個庫來向 PDF 新增圖像?

IronPDF 和 iText PDF 庫之間的功能比較表顯示 IronPDF 在易用性、性能、授權靈活性、完整的圖像格式支持和企業 PDF 生成的高級定位能力方面的優勢

無論是 IronPDF 還是 iText,都提供了在 C# 中將圖像新增到 PDF 的有效工具,各有獨特的優勢。 IronPDF 在使用簡易性、性能和授權靈活性方面表現出色,適合用最少程式碼處理複雜的 PDF 和圖像。 它在大型 PDF上提供更好的擴展性,並提供一次性購買授權,避免經常性成本或複雜的開源限制。

該庫對現代格式如SVG 和 WebP 的支持,加上內建壓縮能力和直觀的定位 API,適合需要高質量文件生成的企業應用。 IronPDF 的Chrome 渲染引擎保證跨所有平台的像素完美輸出。

iText 適合開源項目,雖然需要更多的程式碼來達成相同的結果,且在處理較大 PDF 時可能遇到性能問題。 其底層 API 提供了詳細的控制,但增加了開發的複雜性。 該庫缺乏現代功能,如響應式 CSS 支持和JavaScript 渲染。

對於企業應用,IronPDF 的優勢包括Docker 支持、AWS Lambda 相容性和Azure Functions 整合。 該庫還提供PDF/A 合規性和PDF/UA 可存取性以符合監管要求。

準備好簡化您的 PDF 圖像處理了嗎? IronPDF 以最少的程式碼提供高效的 PDF 圖像新增。 嘗試 IronPDF,體驗在您的 C# 項目中更簡單的圖像整合。 實現為您處理了複雜性,節省時間並改進了您的PDF 生成工作流程。 探索完整功能集,並加入成千上萬的開發者行列,簡化他們的 PDF 操作。

請注意: iText是其各自所有者的註冊商標。 此站點與iText無關,未由其背書或贊助。 所有產品名稱、徽標和品牌均為其各自所有者的財產。 比較僅供資訊參考,並反映了撰寫時的公開可用資訊。
Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密。
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起