xpdf安装配置

下载:
根据系统选择下载 https://www.xpdfreader.com/download.html
下载xpdf和中文字体,分别解压缩。

windows下使用:

建立xpdf根目录 d:\tool\xpdf

(1)并将xpdf-tools-win-4.00\bin64目录下所有文件复制到 d:\xpdf 下。
(2)将xpdf-chinese-simplified 整个文件夹复制到 d:\xpdf 下。(该步骤及其以下步骤我在Linux服务器上未设置也没乱码,但是windows上没设置就有问题)
(3) 复制 xpdf-tools-win-4.00\doc 路径下的 sample-xpdfrc 文件到 d:\xpdf 下,并改名为 xpdfrc。
(4)修改文件 xpdfrc 第73行,将 textEncoding UTF-8 注释打开,指定编码为UTF-8,
(5)并在下面增加 textPageBreaks no 参数,意思是在pdf文档的两页间不加入分行符。
(6)在此文件最后增加以下内容,声明中文字体文件

#----- begin Chinese Simplified support package (2011-sep-02)
cidToUnicode Adobe-GB1 D:/tool/xpdf/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMap ISO-2022-CN D:/tool/xpdf/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMap EUC-CN D:/tool/xpdf/xpdf-chinese-simplified/EUC-CN.unicodeMap
unicodeMap GBK D:/tool/xpdf/xpdf-chinese-simplified/GBK.unicodeMap
cMapDir Adobe-GB1 D:/tool/xpdf/xpdf-chinese-simplified/CMap
toUnicodeDir D:/tool/xpdf/xpdf-chinese-simplified/CMap
#displayCIDFontTT Adobe-GB1 D:/xpdf/xpdf-chinese-simplified/CMap/gkai00mp.ttf
#fontFileCC Adobe-GB1 /usr/..../gkai00mp.ttf
#----- end Chinese Simplified support package

Linux下使用:

1)、解压xpdf-tools-linux-4.02.tar.gz 然后将xpdf-tools-linux-4.02/bin64目录下所有文件复制到 /usr/local/bin下。
2)、解压xpdf-chinese-simplified.tar.gz 然后将xpdf-chinese-simplified 整个文件夹复制到 /usr/local/bin下。
3)、复制 xpdf-tools-linux-4.02/doc路径下的 sample-xpdfrc 文件到 /usr/local/bin下,并改名为 xpdfrc。
4)、修改文件 xpdfrc 第73行,将 textEncoding UTF-8 注释打s开,指定编码为UTF-8 。 并在下面增加一行 textPageBreaks no。
5)、

把fontFile(上面第一个红框中的注释)的注释全部取消。然后在/usr/share/fonts文件下创建文件夹win,然后把安装包xpdf-tools中的 fonts中的ttf文件放入win文件夹中。然后把加上fontDir(上面第二个红框的内容加上)。(本步骤是因为linux上没有字体会导致报错)。
(6)在此文件最后增加以下内容,声明中文字体文件

#----- begin Chinese Simplified support package (2011-sep-02)
cidToUnicode Adobe-GB1 D:/tool/xpdf/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMap ISO-2022-CN D:/tool/xpdf/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMap EUC-CN D:/tool/xpdf/xpdf-chinese-simplified/EUC-CN.unicodeMap
unicodeMap GBK D:/tool/xpdf/xpdf-chinese-simplified/GBK.unicodeMap
cMapDir Adobe-GB1 D:/tool/xpdf/xpdf-chinese-simplified/CMap
toUnicodeDir D:/tool/xpdf/xpdf-chinese-simplified/CMap
#displayCIDFontTT Adobe-GB1 D:/xpdf/xpdf-chinese-simplified/CMap/gkai00mp.ttf
#fontFileCC Adobe-GB1 /usr/..../gkai00mp.ttf
#----- end Chinese Simplified support package

使用:

windows使用命令:

D:\tool\xpdf\pdftopng.exe  -f 1 -l 1 D:\test.pdf D:\testpng

说明:进入D:\tool\xpdf 文件夹中,运行 pdftopng.exe -f 1 -l 1 D:\test.pdf D:\testpng。-f 1 是指从第一页开始。 -l 1 是指第一页结束,最后一个是生成的图片名前缀叫testpng 最终会以testpng-000001.png的形式生成。

linux使用命令:

cd /usr/local/xpdf/
pdftopng  -f 1 -l 1 /data/test.pdf /data/testpng

说明:同上面windows的说明一样。

java方式调用:

windows环境下:

public static void main(String[] args) {try {String cmd = "d:\\tool\\xpdf\\pdftopng.exe  -f 1 -l 1 D:\\test.pdf D:\\testpng ";Runtime.getRuntime().exec(cmd);} catch (IOException e) {e.printStackTrace();}}

linux环境下:
先编写一个工具类:

public List<String> executeNewFlow(List<String> commands) {List<String> rspList = new ArrayList<String>();Runtime run = Runtime.getRuntime();try {Process proc = run.exec("/bin/bash", null, null);BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proc.getOutputStream())), true);for (String line : commands) {out.println(line);}// out.println("cd /home/test");// out.println("pwd");// out.println("rm -fr /home/proxy.log");out.println("exit");// 这个命令必须执行,否则in流不结束。String rspLine = "";while ((rspLine = in.readLine()) != null) {System.out.println(rspLine);rspList.add(rspLine);}proc.waitFor();in.close();out.close();proc.destroy();} catch (IOException e1) {e1.printStackTrace();} catch (InterruptedException e) {e.printStackTrace();}return rspList;}

然后使用代码调用命令:

List<String> cmds = new ArrayList<>();
String cmd1 = "cd /usr/local/bin/";
String cmd2 = "pdftopng -f 1 -l 2 /data/test.pdf /data/testpng";
cmds.add(cmd1);
cmds.add(cmd2);
//然后调用上面的工具类
LinuxCmdUtils.executeNewFlow(cmds);

xpdf工具(PDF转图片工具)相关推荐

  1. 【什么办公软件好用】万彩办公大师教程丨PDF转图片工具

    关于PDF转图片工具 万彩办公大师PDF转图片工具能把PDF文件转换成JPG格式的图片.支持批量导入:支持自定义DPI清晰度和图片大小:支持指定输出路径.当启动该程序时,以下主界面将显示: 使用PDF ...

  2. Java读写pdf、pdf转图片工具类

    本工具类所用到的相关jar包及版本有:     1.pdfbox-1.5.0.jar     2.fontbox-1.5.0.jar     3.jempbox-1.5.0.jar     4.iTe ...

  3. 编程辅助工具推荐:图片工具snipaste

    what 截屏用的.支持widows和Mac. 官网:Snipaste why 比系统自带的强一些. 1.一个快捷键就可以搞定截图,不用记得那么多: 2.截图在顶层显示,这个操作写代码是不是很爽,不用 ...

  4. Java制作PDF转图片小工具

    背景: 前几日一位朋友突然找我帮忙将PDF转换成图片,我仗义相助,建议他使用福昕阅读器,然而他说转换需要VIP会员,老贵了.我花了半天时间寻找免费会员,结果不出所料没有找到,我一怒之下,便决定亲自动手 ...

  5. Java实现pdf转图片的工具类(三种方法实现PDF转图片的案例)【亲测可用】

    提示:有些时候我们需要在项目中展示PDF,所以我们可以将PDF转为图片,然后已图片的方式展示,效果很好.Java使用各种技术将pdf转换成图片格式,并且内容不失帧.清晰可见,该工具类也是开发中常用到的 ...

  6. 【办公软件有哪几种】万彩办公大师教程丨Office转图片工具

    关于万彩办公大师Office转图片工具 Office转图片工具批量转换 WORD, PPT,EXCEL到JPG图片,图片质量高,字体.表格清晰不变形,总体效果不失真. 每个文件将会有对应的一个文件夹以 ...

  7. 【办公软件免费版】万彩办公大师教程丨PDF转Word工具

    关于万彩办公大师-PDF转WORD工具 PDF转WORD工具可以快捷的把PDF文件转成WORD文档,方便编辑文档内容. 使用万彩办公大师-PDF转WORD工具 当启动该程序时,以下主界面将显示: 选择 ...

  8. java使用Aspose.pdf实现pdf转图片

    主要步骤 使用Aspose进行文档转换,首先引入相应的jar包到系统环境 项目resource下导入license.xml文件 使用Aspose时,需要调用设置License方法,设置完成第一次转换比 ...

  9. PDF转图片的软件有哪些?这些PDF转图片软件值得一试

    随着科技的不断发展,办公软件越来越普及,相信每一位职场人都会收到PDF格式的文件,但如果我们需要把一个PDF中的部分内容发给他人时,我们就需要先把PDF转换成图片的格式,这样就可以直接发送单张图片到不 ...

最新文章

  1. ApacheServer-----关于443端口被占用的解决方法
  2. 文件下载类型__response
  3. 终极版Python学习教程:一篇文章讲清楚Python虚拟环境
  4. python中numpy的用法_Python中numpy多维数组的用法
  5. django的admin
  6. SQL注射技术总结文档
  7. oracle性能优化 pdf,Oracle性能优化技术内幕 pdg-pdf
  8. 计算机优秀毕业生访谈,访谈 | 信息院优秀毕业生经验分享
  9. 功率因数cosφ仪表盘
  10. MFC模态对话框和非模态对话框使用
  11. TFT液晶屏、LCD显示屏40pin接口标准
  12. total variation、global variation、local variation
  13. 计算机表格的名次怎么弄,excel表格函数名次怎么做
  14. 大学毕业不用愁,一系列软件帮你轻松完成毕业论文
  15. IT管理体系——战略、管理和服务
  16. 手机一键去水印的软件有什么
  17. jquery获取所有子元素宽度之和
  18. 解决微信返回码为40113,错误信息errmsg:unsupported file type
  19. 中国后续发展的知识来源问题
  20. 初谈推荐算法:协同过滤推荐(CF)算法

热门文章

  1. 美食app的UI设计
  2. 自学python书籍怎么选-python自学Day07(自学书籍python编程从入门到实践)
  3. 如何通过数据包套接字攻击Linux内核?
  4. CF855G Harry Vs Voldemort 题解
  5. android exoplayer最好用的视频播放器,倍速播放
  6. 数据分析应关注AARRR模型的哪些指标
  7. 2022-2028年中国尘螨脱敏治疗药物行业市场运行态势及发展战略研究报告
  8. ubuntu 改屏幕分辨率命令_ubuntu 修改分辨率为自定义分辨率
  9. 科技爱好者周刊(第 216 期):极简主义的胜利
  10. 什么是市盈率(PE)?