Convert PDF To Image-ImageMagick
Contents
Convert PDF To Image-ImageMagick
PDF檔案轉存為圖片,目前Google搜尋上,此功能絕大多數的文章停留在 .NET Framework,經過數天的嘗試,好不容易才找到適用於 .NET Core 的,趁記憶猶新趕快記錄下來。
ImageMagick 是一款開放原始碼的圖片處理套件,透過 Ghostscript ,也可以將 PDF 轉換為圖片,且使用上十分簡單。
環境
- 電腦需安裝 Ghostscript
- Nuget > Magick.NET.Core
- Nuget > Magick.NET-Q16-AnyCPU
實作
-
安裝 Ghostscript
Magick.NET 轉換 PDF 需要先安裝 Ghostscript
-
安裝
Magick.NET.Core
及 執行Magick.NET-Q16-AnyCPU
名稱中 Q8、Q16 代表像素,Q8的版本是為 8bit,而Q16是為16bit。Q16 相當於不損失精度的情況下讀取或寫入16bit圖像,但所需資源是Q8版本的兩倍。另外還有 Q16-HDRI ,當然是越高圖片品質越好,但也越耗效能。
-
讀取PDF檔並寫入圖片
1 2 3 4 5 6 7 8 9 10 11 12
void Main() { using var images = new MagickImageCollection(@"C:\temp\test.pdf"); // Create new image that appends all the pages horizontally using var horizontal = images.AppendHorizontally(); horizontal.Write(@"C:\temp\test_horizontal.png"); // Create new image that appends all the pages vertically using var vertical = images.AppendVertically(); vertical.Write(@"C:\temp\test_vertical.png"); }
補充
Asp.net Core 讀取 PDF 轉換為圖片下載
|
|
參考
ImageMagick GitHub
https://github.com/dlemstra/Magick.NET
Ghostscript
https://www.ghostscript.com/download/gsdnld.html
Ghostscript ConvertPDF
https://github.com/dlemstra/Magick.NET/blob/master/docs/ConvertPDF.md