動態

詳情 返回 返回

通過C#將PDF快速導出為圖片 - 動態 詳情

前言

PDF的實際應用雖然廣泛,但考慮到接收設備不一定有支持的閲讀器, 將PDF導出為圖片格式可能會更方便發送和查閲。另外,圖片格式也更易於我們進行二次編輯。下面我所要介紹的這個將PDF轉換為圖像的方法可以確保轉換後的圖片與原始PDF文件的外觀一致,包括內容的位置和樣式等。只需要簡單幾行代碼就可以將PDF快速導出成你想要的圖片格式。

準備工作

這個方法將用到的是Free Spire.PDF for .NET組件,支持在多種.NET應用程序中處理PDF。
具體安裝方法如下(Visual Studio 2022為例):

方法一

通過NuGet安裝Free Spire.PDF for .NET。
1.打開 Visual Studio創建新項目。
2.依次選擇工具>NuGet包管理器>程序包管理器控制枱。
3.執行命令:PM> Install-Package FreeSpire.PDF

方法二

在程序中手動導入Spire.pdf.dll文件。
1.將Free Spire.PDF for .NET 下載到本地,解壓並安裝。
2.打開 Visual Studio創建一個新項目。
3.在“解決方案資源管理器”中右鍵點擊“引用”,再依次選擇“添加引用”> “瀏覽”。
4.找到安裝路徑下BIN文件夾中的dll文件,點擊“OK”。

這裏個人更推薦第二種方法,更方便查找各種demo。

還有一點需要注意的是,這個免費的組件在轉換時有一定頁數的限制。如果你的文檔比較大,也可以直接下載商業版,申請一個臨時許可證來試用一段時間。
下載鏈接:Spire.PDF for .NET

PDF文檔轉圖片

代碼邏輯

整個代碼的邏輯很簡單,首先導入所需要的外部庫和命名空間。然後創建一個文檔實例並加載需要轉換的PDF文檔。然後循環遍歷文檔的每一頁,調用PdfDocument下的SaveAsImage()方法將每一頁都轉換為圖片。圖片格式根據自身需要指定即可。

示例代碼

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System;
using System.Drawing;
using System.Drawing.Imaging;

namespace PDFtoImage
{
    class Program
    {
        static void Main(string[] args)
        {
            //創建一個PdfDocument實例
            PdfDocument pdf = new PdfDocument();

            //加載需要轉換的PDF文檔
            pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pdf");

            //循環遍歷每個頁面
            for (int i = 0; i < pdf.Pages.Count; i++)
            {
                //將所有頁面轉換為圖像並設置圖像Dpi
                Image image = pdf.SaveAsImage(i, PdfImageType.Bitmap, 500, 500);

                //設置圖像格式
                String file = String.Format("C:\\Users\\Administrator\\Desktop\\Images\\Image-{0}.png", i);
                image.Save(file, ImageFormat.Png);
              
            }
        }
    }
}

效果圖

image

PDF的某一頁轉圖片

代碼邏輯

與上述代碼類似,只是轉換某一頁時,不再需要遍歷整個文檔,只需要通過索引獲取頁面就可以。唯一需要注意的是,這裏的索引是從0開始計算的。最後指定圖片格式即可。

示例代碼

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
using System.Drawing.Imaging;

namespace PDFtoImage
{
    class Program
    {
        static void Main(string[] args)
        {
            //創建一個PdfDocument實例
            PdfDocument pdf = new PdfDocument();

            //加載需要轉換的PDF文檔
            pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pdf");

            //將第一頁轉換為圖像並設置圖像Dpi
            Image image = pdf.SaveAsImage(0, PdfImageType.Bitmap, 500, 500);

            //設置圖像格式
            image.Save("C:\\Users\\Administrator\\Desktop\\Images\\Image.png ", ImageFormat.Png);
        }
    }
}

效果圖

image

其他

以上代碼演示的是將PDF轉換為PNG格式,如果想要轉換為其他圖片格式的話,如JPG,BMP或者EMF等,只需在更改代碼最後的格式即可。例如:

image.Save("Image.jpg", ImageFormat.Jpeg);

Add a new 評論

Some HTML is okay.