如何使用ImageMagick将PDF文件转换为图像文件

时间:2011-12-15 09:29:35

标签: c# pdf imagemagick

如何在c#编程平台上使用ImageMagick将pdf文件转换为图像(.jpg,.gif等)?或者除ImageMagick之外是否还有可用于执行此操作的第三方库?

1 个答案:

答案 0 :(得分:1)

Ghostscript可以阅读PDF(以及PostScript和EPS)并将其转换为许多不同的图像格式。

* BTW,ImageMagick不能自己做 - ImageMagick也将Ghostscript用作外部“委托”的转换。 ImageMagick非常适合继续处理和操作图像文件 - 它真正擅长的工作!

命令gs -h(或在Windows上:gswin32c.exe -h)应该为您提供有关Ghostscript中内置的不同设备的概述:

GPL Ghostscript GIT PRERELEASE 9.05 (2011-03-30)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
Usage: gs [switches] [file1.ps file2.ps ...]
Most frequently used switches: (you can use # in place of =)
 -dNOPAUSE           no pause after page   | -q       `quiet', fewer messages
 -g<width>x<height>  page size in pixels   | -r<res>  pixels/inch resolution
 -sDEVICE=<devname>  select device         | -dBATCH  exit after last file
 -sOutputFile=<file> select output file: - for stdout, |command for pipe,
                                         embed %d or %ld for page #
Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PostScriptLevel3 PDF
Default output device: x11alpha
Available devices:
   alc1900 [....] bmp16 bmp16m [...]
   bmp256 bmp32b bmpgray bmpmono bmpsep1 bmpsep8 [....] jpeg jpegcmyk jpeggray 
   pamcmyk32 pamcmyk4 pbm pbmraw pcl3 pcx16 pcx24b [....]
   pcx256 pcx2up pcxcmyk pcxgray pcxmono pdfwrite pgm pgmraw pgnm pgnmraw
   png16 png16m png256 png48 pngalpha
   pnggray pngmono pnm pnmraw ppm ppmraw [....] tiff12nc tiff24nc tiff32nc tiff48nc
   tiff64nc tiffcrle tiffg3 tiffg32d tiffg4 tiffgray tifflzw tiffpack
   tiffscaled tiffscaled24 tiffscaled8 tiffsep tiffsep1 [....]

因此,要使用具有特定图像大小的多页PDF my_pdf.pdf 创建一系列PNG(我选择了72 dpi的DIN A4纸张格式)和分辨率,请使用 pngalpha 设备。试试这个命令:

 gswin32c ^
    -o my_pdf_page_%03d.png ^
    -sDEVICE=pngalpha ^
    -dPDFFitPage ^
    -g595x842 ^
    -r72x72 ^
     my_pdf.pdf