在项目开发中经常会有将“word转换为pdf”、“将word转换为图片”、将“pdf转换为图片” 的需求。

针对如上需求,写一下自己在这方面的实现:

1、word转换为pdf ,可以参考地址: http://blog.csdn.net/catoop/article/details/42527349

本文主要讲pdf 转成 图片:

首先我们要做如下准备:

1、GhostScript 安装

2、ImageMagick 安装

下面做一下分解:

一、GhostScript 安装和测试

我们先下载安装 GhostScript,官网地址:http://ghostscript.com/download/gsdnld.html(我已经下载过一个免安装版本,官方9.15版本 http://download.csdn.net/detail/catoop/8363115),这个建议大家使用官方最新版本。

安装也可以使用 yum -y install ghostscript

ghostscript的依赖包,在系统盘Packages中可以找到

(这里下载可以直接运行的版本 ghostscript-9.15-linux-x86_64.tgz ,下载解压后,直接复制到 /usr/bin 目录下,命名为gs 即可,如果/usr/bin目录下已经存在该文件,记得备份之前的文件后再拷贝过去)

安装成功后,输入命令 gs -version 如果有如下输出,说明安装成功,打印的是版本。

[root@localhost www]# gs -version
GPL Ghostscript 9.07 (2013-02-14)
Copyright (C) 2012 Artifex Software, Inc.  All rights reserved.

然后用如下命令转换输出一个pdf测试,命令:

1. gs -sDEVICE=tiffg4 -sOutputFile=igs.tiff -dMaxStripSize=8192 igs.pdf
命令1. 自动生成的像素大小1728x22922. gs -q -r204x196 -g1728x2156 -dNOPAUSE -dBATCH -dSAFER -sDEVICE=tiffg4 -sOutputFile=igs1.tiff -- igs.pdf
命令2. 手动指定了像素大小1728x2156,-r204x196 -g1728x2292 参数等同于 -sPAPERSIZE=a4。
3. gs -q -r204x196 -g1728x2156 -dNOPAUSE -dBATCH -dSAFER -sDEVICE=tiffg3 -sOutputFile=igs2.tiff -- igs.pdf
命令2.和3.的区别:
输出的fax压缩格式不一样,文件的大小不一样,此处测试文件结果:igs1.tiff大小约为5Kb,而igs2.tiff为24Kb。

gs -dNOSAFER -r300 -dBATCH -sDEVICE=pngalpha -dNOPAUSE -dEPSCrop -sOutputFile=testfilepng/%d.png testfile.pdf

执行命令后,会有如下输出,其中Page为转换的页码,其他输出是因为一些字体问题而出现的数据,只要能输出到最后一页中间不中断,就说明文件解析转换成功,下面是我转换的一个文件的输出内容:

    "-dQUIET",    安静的意思,指代执行过程中尽可能少的输出日志等信息。(也可以简写为“-q”)"-dNOSAFER",    通过命令行运行"-dBATCH",    执行到最后一页后退出"-dNOPAUSE",    每一页转换之间没有停顿"-dNOPROMPT",    没有相关提示                       "-dFirstPage=1",    从第几页开始"-dLastPage=5",     到第几页结束  "-sDEVICE=pngalpha",    转换输出的文件类型装置,默认值为x11alpha"-g720x1280",    图片像素(-g<width>x<height>),一般不指定,使用默认输出"-r300",    图片分辨率(即图片解析度为300dpi),默认值好像是72(未测试证实)"-sOutputFile=/opt/shanhy/error1png/%d.png",    图片输出路径,使用%d或%ld输出页数

PS:关于 gs 命令的很多参数,需要的对照官网进行研究吧。很强大的。

二、ImageMagick 安装

下载安装 ImageMagick,官网下载地址:http://www.imagemagick.org/script/download.php ,其中有很多连接,找一个能下载的下载安装(都是国外网站,需要的就拨一下VPN吧)

还可以使用 yum -y install ImageMagick

ImageMagick的依赖包,在系统盘Packages中可以找到

安装成功后,使用命令 convert -version 查看ImageMagick 版本号,验证是否安装成功,如下:

[root@localhost www]# convert -version
Version: ImageMagick 6.7.8-9 2019-02-01 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP    

执行命令,进行pdf转换测试:

convert pdf_name.pdf image_name.jpg      //可指定路径
convert pdf_name.pdf[0] image_name.jpg    //指定转换pdf的第一页
convert -resize 1800x -density 150 -quality 100 pdf_name.pdf image_name.jpg-resize 1800x 指定生成的像素大小,越大生成的图片越大,转化的时间越久
-density 150 参数指定密度,具体含义再查
-quality 100 指定生成图片的质量

至此,ImageMagick 安装和测试完成。

有的朋友可能会问,上面我们使用 ghostscript 已经可以转换文件图片,为什么还要安装ImageMagick呢?

这里解释一下:ImageMagick 的 convert 命令重点和强大之处是图片的处理能力,很多时候,我们需要直接对pdf转换出来的图片进行处理。这种情况下,使用 convert 命令会满足我们很多需求,关于 convert 命令的很多参数,大家查看关于 ImageMagick 的资料了解,这里也不做赘述。

另外说一下:convert 命令直接把pdf 转换为图片,是依赖的 ghostscript 库,所以 ghostscript 可以单独进行图片转换,而 convert 在安装ghostscript 之前,只能进行单独的图片处理,不能直接转换 pdf 为图片。

最后跟大家提一下,在我们的业务应用实现中,建议大家讲文件转换的命令写到shell 脚本中,使用程序调用脚本。虽然也可以通过代码调用 api 实现,不过我觉得还是使用系统的shell 处理,效率会高一些。

linux系统pdf转图片相关推荐

  1. Linux系统 PDF转图片

    安装好ImageMagick后,运用命令convert -density 300 -quality 100 "/usr/local/tomcat/test/1.pdf" " ...

  2. wps linux 程序转pdf文件,在Deepin Linux系统下将图片转成PDF格式非常的简单

    在Deepin Linux系统下将图片转成PDF其实非常的简单,它不需要i2pdf软件的deepin-wine版,不管是在图形桌面还是命令行中都有相应的解决方案,以下为你介绍. 转化方案 1.图片可以 ...

  3. linux系统下替换图片,GIMP 图像处理软件如何更换图片背景色

    GIMP 是一款免费的图像处理工具,其功能非常强大.对于喜欢使用Linux系统的人来说,GIMP就好比是Linux系统下的PhotoShop软件.比PhotoShop更好的一点是,GIMP支持Wind ...

  4. linux系统下替换图片,Linux(ubuntu系统)下使用FreeImage库

    Linux(ubuntu系统)下使用FreeImage库 Linux(ubuntu系统)下使用FreeImage库 最近在搞一个图像处理的项目,需要用到FreeImage,之前在Windows下用过, ...

  5. linux的多重启动管理器,使用多重启动管理器GRUB引导Linux系统.pdf

    维普资讯 2007年 (第35卷)第6期 信患事L爿' 使用 多重启 动 管理器 GRUB ,导 Linux系统 白伸伸 (兰州职业技术学院 信息工程系,甘肃 兰州 730000) 擅要:GRUB是一 ...

  6. Linux服务器迁移文件系统,DD方式迁移Linux系统.pdf

    DD 方式迁移Linux 系统 一.DD 简介 dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个 文件,并在拷贝的同时进行指定的转换.我们可以使用dd 命令对 li ...

  7. linux系统pdf目录编辑器,使用Master PDF Editor在Ubuntu Linux上编辑PDF文件

    Master PDF Editor是一个pdf编辑工具,通过它我们可以编辑pdf文件中的文本,图像和密码,也可以使用它分割,合并和删除pdf文件中的页面.在本文中,我们将讨论如何在Ubuntu 16. ...

  8. linux系统下deepin-wine-qq图片加载不出来的解决方案

    腾讯从19年10月底启用了ipv6技术,接收图片和显示头像需要连接到ipv6地址,然而某些地区运营商的ipv6服务不稳定,这就导致在deepin上QQ加载不了图片和表情. 因此,禁用ipv6即可解决该 ...

  9. linux系统浏览器没有图片不显示,为什么浏览器图片显示不出来怎么办

    为什么浏览器图片显示不出来怎么办 ​我们上网的时候,可能因为种种原因导致网页显示不出图片,那么网页显示不出图片怎么办呢?有哪些解决的方法?接下来浏览器家园网站就简单的给大家介绍一下网页显示不出图片怎么 ...

  10. linux系统下查看图片尺寸的命令

    1.首先需要安装:imagemagick,即: # apt-get install imagemagick 2.用 identify 命令查询对应图片的信息,即: # identify logo.jp ...

最新文章

  1. 一个express老系统csrf漏洞修复
  2. 2022-2028年中国石油焦行业运行现状与发展态势展望报告
  3. 深度学习和目标检测系列教程 17-300: 3 个类别面罩检测类别数据集训练yolov5s模型
  4. Windbg调优Kafka.Client内存泄露
  5. python 东哥 with open_python 连接redis cluster
  6. 软件架构设计——软件架构风格
  7. 毕设题目:Matlab数字信号处理
  8. python爬虫和Java爬虫哪个更好
  9. Win10注册.bat或.exe成为系统服务(NSSM)
  10. 朴素贝叶斯模型进行垃圾邮件分类
  11. 号称“不限速“的阿里网盘,官宣要停止了,寿命仅仅1年
  12. 怎么去除视频字幕清理视频字幕或水印的四种方法
  13. uniapp结合萤石视频ezuikit.js的爬坑记录
  14. MySQL高级篇知识点——MySQL 事务日志
  15. 日本知名动画公司东映动画加入 The Sandbox 元宇宙
  16. 电音(4)House类电音
  17. 课程设计 - 单词检查
  18. 笔记本计算机屏幕亮度暗,笔记本屏幕暗,详细教您怎么解决
  19. 市盈率不足20倍 34只大盘蓝筹股尽显低估值效应
  20. 微信小程序开发之倒计时定时器

热门文章

  1. torch.manual_seed(args.seed) torch.cuda.manul_seed_all(args.seed)和numpy.random.seed()
  2. 伯朗特机器人编程语言_机器人十大流行编程语言
  3. python 将中文变为拼音_python如何使用pypinyin将中文转换为拼音,详细介绍
  4. 期货开平,多开,空开,多平,空平
  5. 2019年8月 华为鸿蒙,华为2019年开发者大会将于8月9日举行,期待鸿蒙吗?
  6. 第九节 html特殊文字符号
  7. Dvr的工作原理及入门分析
  8. WPS(Word)中图注、域的使用基础
  9. 印度互联网创业大热:会出现“下一个苹果”?
  10. html导航栏位置垂直居中,导航栏水平+垂直居中