c# - 使用 C# 或 命令行 将PDF转换为JPG或 PNG

我需要将PDF文件转换为图像。 我用于测试"。全转换器",它提供 命令行,但它是共享软件,我需要找到免费的替代品。

谁知道这样的工具,甚至是免费的C# 库?

时间:

包中的convert 工具( 或自 7 版本起 imagemagick) 可以执行这个( 还有更多的) 。

它最简单的形式就是


convert myfile.pdf myfile.png



或者


magick myfile.pdf myfile.png



这是一个老问题,但由于缺少GhostScript答案,并且没有提示多页PDF导出,但我认为添加另一个变体是可以的。


gs -dBATCH -dNOPAUSE -sDEVICE=pnggray -r300 -dUseCropBox -sOutputFile=item-%03d.png examples.pdf



选项描述:

  • dBatchdNOPAUSE 只是让gs以批模式运行,这意味着或多或少它不会询问任何问题。 如果你想在bash脚本中运行命令,那么这些参数也很重要。
  • sDEVICE 告诉gs要生成什么输出格式。 pnggray 用于灰度,png16m 用于 24-bit RGB颜色。 如果你坚持创建Jpegs请使用 -sDEVICE=jpeg 生成颜色JPEG文件 。 使用 -dJPEGQ=N ( 。N 是从 0到 100的整数,缺省 75 ) 参数控制Jpgeg质量。
  • -r300 将扫描分辨率设置为 300 dpi 。 如果你喜欢较小的输出大小,使用 -r70 或输入具有高resoultion使用 -r600 。 如果您有300dpi的PDF并指定-r600,您的图像将被放大。
  • -dUseCropBox 告诉gs如果定义了 CropBox,则使用。 CropBox指定页面上感兴趣的区域。 如果你有一个白色边距很大的pdf并且你不想在你的输出上留下这个余量,那么可能是帮助 。
  • -sOutputFile 定义输出文件的名称。 %03d.png 部件告诉gs为多个文件包含一个计数器。 两页pdf会产生两个名为 item-001.png 和 item-002.png的文件。
  • 最后一个( 未命名的参数是输入文件。)

可用性 imagemagick的convert命令在内部使用gs命令 。 如果你可以使用imagemagick转换 pdf,你已经安装了 gs 。

安装 ghostscript:

RHEL?


yum install ghostscript



SLES:


zypper install ghostscript



debian/ubuntu:


sudo apt-get install ghostscript



windows :

你可以在 http://www.ghostscript.com/download/gsdnld.html 找到 Windows 二进制文件。

...