目录

一、Linux安装步骤

二、Java使用Ghost4j

1.POM

2.pdf文件转图片


一、Linux安装步骤

1.编译安装(9.55版本)
mkdir /usr/local/ghostscript
下载ghostscript.tar.gz
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9550/ghostscript-9.55.0.tar.gz
tar -zxvf ghostscript-9.55.0.tar.gz
cd ghostscript-9.55.0
./configure --prefix=/usr/local/ghostscript
mkdir obj
mkdir bin
make all
make install
make so
2.配置环境变量
vi /etc/profile
写入 export PATH=$PATH:/usr/local/ghostscript/bin
3.查看是否安装成功
gs -v
4.配置动态链接库
ln -s /usr/local/ghostscript/bin/gs /usr/bin/gs
cp /usr/local/ghostscript/ghostscript-9.55.0/sobin/libgs.so.9.55 /usr/lib
ln -s /usr/lib/libgs.so.9.55.0 /usr/lib/libgs.so
vi /etc/ld.so.conf.d/libgs.conf
新文件写入 /usr/lib/libgs.so
ldconfig

二、Java使用Ghost4j

1.POM

<dependency><groupId>org.ghost4j</groupId><artifactId>ghost4j</artifactId><version>1.0.1</version>
</dependency>
<!-- 图片压缩处理-->
<dependency><groupId>net.coobird</groupId><artifactId>thumbnailator</artifactId><version>0.4.8</version>
</dependency>

2.pdf文件转图片

代码如下(示例):

public class Ghost4jUtils {/*** pdf转图片** @param pdfFile    pdf文件* @param imgBaseDir 图片存储目录* @return 图片完整路径*/public static List<String> transferPdf2Images(File pdfFile, String imgBaseDir) {try {PDFDocument document = new PDFDocument();document.load(pdfFile);SimpleRenderer renderer = new SimpleRenderer();// 清晰度renderer.setResolution(150);List<Image> images = renderer.render(document);List<String> pngList = new ArrayList<>();for (int i = 0; i < images.size(); i++) {RenderedImage renImage = (RenderedImage) images.get(i);String pngPath = imgBaseDir + "/" + (i + 1) + ".png";File imageFile = new File(pngPath);ImageIO.write(renImage, "png", imageFile);if (renImage.getWidth() > 960) {//大于960px进行压缩Thumbnails.of(imageFile).width(960)//.size(960, 100).toFile(imageFile);}pngList.add(pngPath);}return pngList;} catch (Exception e) {e.printStackTrace();}return Collections.emptyList();}public static void main(String[] args) {transferPdf2Images(new File("/tmp/pdf/test.pdf"), "/tmp/pdf/images");}
}

Linux环境安装ghostscript相关推荐

  1. 在Linux环境安装memcached

    2019独角兽企业重金招聘Python工程师标准>>> 1.memcached的安装依赖libevent-dev组件,先安装这个组件 在Linux环境安装memcached 2.下载 ...

  2. Linux环境安装、卸载Docker

    Linux环境安装.卸载Docker 安装: 1.Docker要求CentOS系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本是否支持安账docker 2.更新yum包 ...

  3. Linux 环境安装 Node、nginx、docker、vsftpd、gitlab

    Linux 环境安装 centos7 # 更新yum yum update -y 0. 防火墙 firewalld 新入的JD云服务器,发现防火墙默认是关闭的. # 查看防火墙状态 systemctl ...

  4. linux 环境安装Flutter

    大家好,我是坚果,公众号"坚果前端" linux 环境安装Flutter 手动安装 Flutter 如果你没有 snapd,或者你无法使用它,那么你可以通过以下步骤安装 Flutt ...

  5. Linux环境安装并配置Maven

    一.Linux环境安装并配置Maven 1. 进入官网下载Tomat安装包 2. 解压安装Tomcat 3. 配置可执行权限 4. 配置可执行端口(避免端口冲突) 5. 验证Tomcat是否可以正常启 ...

  6. linux 环境安装 webdav 服务

    linux 环境安装 webdav 服务 执行安装语句 yum install httpd* -y 安装路径为:/ect/httpd/ 相关配置 httpd.conf 在文件 /etc/httpd/c ...

  7. linux环境安装mysql8.0以及使用Navicat连接Linux中的mysql

    目录 一.linux环境安装mysql 二.使用Navicat连接Linux中的mysql 一.linux环境安装mysql 1.官网下载mysql对应的包,我这下载的是8.0.28版本.官网链接:M ...

  8. Linux环境安装curl

    Linux环境安装curl 1. 下载安装(版本可以参考官网:curl) wget http://curl.haxx.se/download/curl-7.20.0.tar.gz tar -zxf c ...

  9. Linux环境安装卸载JDK以及安装Tomcat和发布Java的web程序

    Linux环境:CentOS7.2 一.安装JDK 安装好的CentOS会自带OpenJdk,最好还是先卸载系统自带的JDK,然后自己重新去Oracle网站下载最新的JDK安装. 1.卸载系统自带的J ...

  10. linux 安装 tao环境,linux环境安装hbase------不一定需要hadoop

    hbase是分布式的,面向列(族)的数据库, 很常用, 网上介绍一大堆.本文说说在linux环境中安装hbase. 一般来说,都是需要先安装hadoop, 再安装hbase. 但是, 为了简便起见, ...

最新文章

  1. python3.7安装numpy模块-Python3.7模块numpy
  2. JAVA中的面向对象与内存解析_2
  3. Java-Redis 热部署问题
  4. 只需五步学会Maven 3.6.1OR 3.6.3及其他版本的下载安装与配置【图文详解】
  5. testNG单元测试学习
  6. python用二维码共享文档_[源码和文档分享]基于Python的QR二维码的生成与识别程序...
  7. python主要用来做什么-python主要用来做什么?Python开发简单吗?
  8. java-开发环境切换不同版本Java-jdk的步骤
  9. Mysql :removeAbandonedTimeout:180
  10. 线性代数科学出版社课后练习题答案
  11. 一个把ijkplayer封装的很好的例子
  12. android 人脸识别边框_虹软人脸识别 - Android Camera实时人脸追踪画框适配
  13. 世界33种名车标志及来历
  14. 比例风险(Cox)回归模型——Proportional hazards model
  15. Android音视频点/直播模块开发
  16. 【100 种语言速成】第 1 节:Python
  17. 对CreateCompatibleDC的粗浅认识
  18. 需求分析——什么是需求分析?
  19. 掘金 AMA:听闲鱼客户端架构师--邬吉风聊 Flutter 和移动端开发那些事
  20. 求学生课程平均分问题

热门文章

  1. 三星安卓手机刷linux,三星galaxy nexus刷ubutun系统的详细步骤
  2. erstudio连接mysql_ERStudio的使用
  3. ERStudio逆向工程生成ER模型
  4. u8系统怎么进服务器取数,u8服务器如何连接数据库
  5. Cuda驱动安装/更新
  6. Houdini 官方HDA SideFX Labs 安装
  7. 前端——》antdv根据拼音过滤select选择器的选项
  8. 机器学习之BP算法推导
  9. android webview 跳转到浏览器,Android WebView或手机浏览器打开连接问题解决办法总结...
  10. 仿uc设置默认浏览器