-
2022-01-07 16:20:56
一、下载
下载当前系统对应的安装包,中文简体安装包,官方下载地址;
下载后的安装包:
配置好的安装包:
链接:https://pan.baidu.com/s/1XCQUbNwjF_KqYL-Tqpy5lw
提取码:s462二、安装配置
windows:
假设安装路径为:D:\pdftool\xpdf
1、解压xpdf-tools-win-4.03.zip,并将bin64目录下所有文件和doc目录下的 sample-xpdfrc 复制到 D:\pdftool\xpdf目录;
2、将 sample-xpdfrc 改名为xpdfrc(默认配置名称为xpdfrc);
3、解压xpdf-chinese-simplified.tar.gz和xpdf-t1fonts.tar.gz,并复制到 D:\pdftool\xpdf目录;
4、修改xpdfrc配置:
找到textEncoding UTF-8,将注释打开;
并在下面增加 textPageBreaks no 参数,表示pdf文档的两页间不加入分行符。
5、在最后面增加内容:#------ 配置字体文件 ---- fontFile Symbol D:/pdftool/xpdf/xpdf-t1fonts/s050000l.pfb fontFile ZapfDingbats D:/pdftool/xpdf/xpdf-t1fonts/d050000l.pfb #----- 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.03.tar.gz,并将bin64目录下所有文件和doc目录下的 sample-xpdfrc 复制到 /usr/local/bin/xpdf目录;
2、将 sample-xpdfrc 改名为xpdfrc(默认配置名称为xpdfrc);
3、解压xpdf-chinese-simplified.tar.gz和xpdf-t1fonts.tar.gz,并复制到 /usr/local/bin/xpdf目录;
4、修改xpdfrc配置:
找到textEncoding UTF-8,将注释打开,指定编码为UTF-8,并在下面增加 textPageBreaks no 参数,表示pdf文档的两页间不加入分行符。
5、在最后面增加内容:(相关配置本人根据需要已做过调整)#------ 配置字体文件 ---- fontFile Symbol /usr/local/bin/xpdf/fonts/s050000l.pfb fontFile ZapfDingbats /usr/local/bin/xpdf/fonts/d050000l.pfb #fontFile MicrosoftYaHei /usr/local/bin/xpdf/fonts/generalFonts/MicrosoftYaHei.ttf fontFile STSongStd-Light-UniGB-UCS2-H /usr/local/bin/xpdf/fonts/generalFonts/STSong-Light-UniGB-UCS2-H.ttf fontFile TimesNewRomanPSMT /usr/local/bin/xpdf/fonts/generalFonts/TimesNewRomanPSMT.otf # 字体包(可从上面百度网盘下载) fontDir /usr/local/bin/xpdf/fonts/generalFonts #----- begin Chinese Simplified support package (2011-sep-02) cidToUnicode Adobe-GB1 /usr/local/bin/xpdf/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode unicodeMap ISO-2022-CN /usr/local/bin/xpdf/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap unicodeMap EUC-CN /usr/local/bin/xpdf/xpdf-chinese-simplified/EUC-CN.unicodeMap unicodeMap GBK /usr/local/bin/xpdf/xpdf-chinese-simplified/GBK.unicodeMap cMapDir Adobe-GB1 /usr/local/bin/xpdf/xpdf-chinese-simplified/CMap toUnicodeDir /usr/local/bin/xpdf/xpdf-chinese-simplified/CMap #displayCIDFontTT Adobe-GB1 /usr/local/bin/xpdf/xpdf-chinese-simplified/CMap/gkai00mp.ttf #fontFileCC Adobe-GB1 /usr/..../gkai00mp.ttf #----- end Chinese Simplified support package
三、使用
1、windows执行命令:
D:\pdftool\xpdf\pdftopng.exe -f 1 -l 2 D:\temp\test.pdf D:\temp\testpng
解释:
-f 1 ----- 从第1页开始转换。
-l 2 ----- 转换至第2页结束,
D:\temp\test.pdf ----- 待转换的pdf文件
D:\temp\testpng ----- 生成的图片名前缀叫testpng 最终会以testpng-000001.png的形式生成在D:\temp\目录下
其他参数解释可执行D:\pdftool\xpdf\pdftopng.exe 查看2、Linux执行命令:
cd /usr/local/bin/xpdf
需要给予执行权限:chomd 777 chmod 777 pdf*
./pdftopng -f 1 -l 1 /tmp/test.pdf /tmp/testpng
解释:
-f 1 是指从第一页开始。
-l 1 是指第一页结束,
/tmp/testpng是指生成的图片名前缀叫testpng 最终会以testpng-000001.png的形式生成在/tmp/目录下
其他参数解释可执行./pdftopng 查看四、Java实现:
import org.apache.commons.lang.StringUtils; import java.io.*; import java.util.List; /** * PDF转换工具类(xpdf : https://www.xpdfreader.com/download.html) * * * @Classname PDFConvert * @Description * @Date 2022/1/4 8:59 * @Created by zhanyp */ public class PDFConvertUtils { /** * widows xpdf 安装路径 */ private static String win_path = "D:\\pdftool\\xpdf"; private static String linux_path = "/usr/local/bin/xpdf"; /** * -f 1 :第一页开始; * -l 1 :第一页结束; */ private static String PDF_TO_PNG_CMD = "%s -f %s -l %s %s %s"; /** * windows环境下pdf转png * * @Auther zhanyp * @Date 2022/1/4 * @Param toolPath : xpdf安装目录 例如D:\pdftool\xpdf * @Param sourcePath : 源pdf文件 例如 D:\test.pdf * @Param targetPath : 目标png保存路径 D:\pdf\png * @Param pngName ;目标png图片名称 例如:test * @Param startPageNum : 开始页数 例如 1, 从第一页开始 * @Param endPageNum : 结束页数 例如 3,第三页结束 * @Return */ public static void pdfToPngWin(String toolPath, String sourcePath, String targetPath, String pngName, Integer startPageNum, Integer endPageNum) { if (StringUtils.isBlank(toolPath)) { toolPath = win_path; } File dir = new File(targetPath); if (!dir.exists() && !dir.isDirectory()) { dir.mkdirs(); } String targetName = targetPath + File.separator + pngName; String command = String.format(PDF_TO_PNG_CMD, toolPath + File.separator + "pdftopng.exe", startPageNum, endPageNum, sourcePath, targetName); System.out.println("执行命令:" + command); try { Runtime.getRuntime().exec(command); System.out.println("pdfToPng 成功"); } catch (IOException e) { System.out.println("pdfToPng 失败"); e.printStackTrace(); } } /** * linux环境下pdf转png * * @Auther zhanyp * @Date 2022/1/4 * @Param toolPath : xpdf安装目录 例如/usr/local/bin/xpdf * @Param sourcePath : 源pdf文件 例如 /tmp/pdftopng/a.pdf * @Param targetPath : 目标png保存路径 /tmp/pdftopng * @Param pngName ;目标png图片名称 例如:test * @Param startPageNum : 开始页数 例如 1, 从第一页开始 * @Param endPageNum : 结束页数 例如 3,第三页结束 * @Return */ public static void pdfToPngLinux(String toolPath, String sourcePath, String targetPath, String pngName, Integer startPageNum, Integer endPageNum) { if (StringUtils.isBlank(toolPath)) { toolPath = linux_path; } File dir = new File(targetPath); if (!dir.exists() && !dir.isDirectory()) { dir.mkdirs(); } String targetName = targetPath + File.separator + pngName; String command = String.format(PDF_TO_PNG_CMD, "./pdftopng", startPageNum, endPageNum, sourcePath, targetName); System.out.println("执行命令:" + command); Runtime run = Runtime.getRuntime(); Process proc = null; BufferedReader in = null; PrintWriter out = null; try { proc = run.exec("/bin/bash", null, null); in = new BufferedReader(new InputStreamReader(proc.getInputStream())); out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proc.getOutputStream())), true); out.println("cd " + toolPath); out.println(command); // out.println("cd /home/test"); // out.println("pwd"); // out.println("rm -fr /home/proxy.log"); out.println("exit");// 这个命令必须执行,否则in流不结束。 proc.waitFor(); } catch (Exception e) { System.out.println("pdf转图片异常:"); e.printStackTrace(); } finally { try { if (in != null) { in.close(); } if (out != null) { out.close(); } if (proc != null) { proc.destroy(); } } catch (Exception e){ } } } public static void main(String[] args) { long start = System.currentTimeMillis(); pdfToPngWin(win_path, "D:\\pdftool\\test\\a.pdf", "D:\\pdftool\\test", "aa", 1, 2); System.out.println(System.currentTimeMillis() - start); } }
更多相关内容 -
centos7-mini下一键安装xpdf脚本,解决中文字体报错等
2021-04-27 20:19:11# centos7-mini-xpdf-install.sh文件放到用户目录~下 $ cd ~ $ chmod -Rf 755 centos7-mini-xpdf-install.sh $ ./centos7-mini-xpdf-install.sh # 执行命令即可pdf转png图片 $ pdftopng pdf文件全路径 png图片输出... -
PDF文字提取工具 xpdf_pdftotext
2021-03-31 21:42:00PDF文字提取工具 xpdf_pdftotext 已经配置好配置文件 pdftotext ? Portable Document Format (PDF) to text converter (version 4.03) http://www.xpdfreader.com/pdftotext-man.html 通过XPDF读取PDF内容并转化为... -
PHP读取PDF内容配合Xpdf的使用
2021-01-20 01:16:01如果不需要转中文的话,只需要下载它就可以:xpdf-bin-linux-3.03.tar,如果需要转中文,那你就还需要它了:xpdf-chinese-simplified.tar 二.安装 现在,下载完毕了吧,我们可以进行安装了。 [root@localhost ~]# ... -
xpdf和font字体包
2018-09-11 14:48:54xpdf和font字体包 -
xpdf-chinese-simplified.zip
2020-07-08 09:32:34xpdf-chinese-simplified.zip -
xPDF For PHP (PHP读取PDF文件) php_xpdf.dll
2019-02-11 14:21:37PHP读取PDF文件, 仅支持 Thread Safety 版本的 PHP 5.5.x / 5.6.x / 7.0.x / 7.1.x / 7.2.x, 将对应的版本 php_xpdf.dll 复制到 PHP ext 目录下。 编译采用版本分别为 5.5.38 / 5.6.40 / 7.0.33 / 7.1.26 / 7.2.14 ... -
xpdf windows已配置好的安装包,解压即可用
2022-01-07 16:17:38xpdf windows已配置好的安装包,解压即可用,可实现pdf转图片、html等 -
xpdf4.0库,使用C/C++操作PDF文件的库
2018-10-18 21:56:47xpdf使用C++编写,主要操作pdf文件,压缩包不包括例子,编译使用cmake构建后使用VS进行编译,很简单易操作的库,有代码就可以看得懂 -
xpdf-4.03.tar.gz
2021-07-08 13:46:41xpdf,pdf阅读器 -
xpdf配置修改完成版
2020-08-07 11:57:00可直接使用,无需修改配置文件,使用命令行执行,将pdf转储成图片,储出到指定目录 -
xpdf linux已配置好的安装包,解压即可用,还包含多数字体
2022-01-07 16:10:38xpdf linux已配置好的安装包,解压即可用,还包含多数字体,可实现pdf转换图片,HTML等 -
配置完整的xpdf支持中文日文希腊文
2020-08-07 14:55:32在xpdf的基础上进行文件整合,最终形成现有的xpdf工具,需使用命令行进行功能调用,主要用于结合java等编程语言,在项目中实现对pdf转各类文件的作用 -
xpdf-win64.zip
2021-02-14 19:31:39xpdf-tools-win-4.03 and XpdfReader-win64-4.03. -
xpdf-4.00源码
2019-01-15 18:40:14xpdf-4.00的源代码,最新,可下载,可实现源码安装。。。 -
xpdf-font-example.zip
2019-08-12 16:44:11Xpdf 是用来处理和转换 PDF 的利器。项目中需要将 PDF 转换为图片,但是发现有的 PDF 文档转换缺失字体,而且下载 ttf 格式的字体也不起作用,于是到官方文档才发现还需要配置字库,而且官方给出的是 pfb 格式的字库... -
xpdf-tools-win
2017-10-17 09:32:51xpdf用来实现读取pdf内容,xpdf-chinese-simplified搭配使用 -
xpdf+font.zip
2019-10-24 15:36:31openoffice+swftools在线预览所需语言工具包。具体操作做可参考https://blog.csdn.net/weixin_39413375/article/details/102717253 -
xpdf转换文件
2019-05-27 01:00:11NULL 博文链接:https://shuaigg-babysky.iteye.com/blog/522155 -
xpdf的资源.rar
2019-07-19 11:43:30官方的xpdf的运行命令行,tools还有中文支持包, -
xpdf-chinese-simplified
2019-04-18 19:45:51swftools 中文文件字体库,转码库,因为SWFTools:是 国外的软件,对中文支持不是很好,开发的时候需要拓展中文字库 ,xpdf-chinese-simplified -
深入浅出springboot2.Xpdf
2019-04-23 18:30:28清晰正版,深入浅出springboot2.X pdf电子书,自己也一直在看 -
xpdf-chinese-simplified-traditional-and-font.zip
2019-09-17 22:00:48swftools需要的xpdf-chinese-simplified.tar.gz语言包和gkai00mp.ttf、simhei.ttf字体 -
基于xPDF和Qt的PDF阅读器。
2018-06-12 16:21:38我练习时写的基于xPDF和Qt的PDF阅读器,可读取PDF中的层信息根据选定的DPI生成BMP文件。同时重载了QT的按钮类和widget,做了界面优化。 -
使用Xpdf和muPDF库Print PostScript在C#中查看PDF文件。
2021-04-11 22:47:25包装用C ++ \ CLI编写的C#类和用C#呈现PDF文件的示例实现。 -
搭建Swftools需要的xpdf-chinese-simplified.tar.gz语言包和gkai00mp.ttf、simhei.ttf字体等
2017-11-10 16:52:13搭建Swftools需要的xpdf-chinese-simplified.tar.gz语言包和gkai00mp.ttf、simhei.ttf字体等 -
xpdf-3.02pl4-win32安装包
2018-10-16 21:16:27Xpdf is an open source PDF viewer. XpdfReader is a free (but not open source) PDF viewer, which includes a few extra features not found in the open source xpdf viewer. (Click for an XpdfReader ... -
xpdf-tools-kms.zip
2019-07-26 15:01:11读取pdf里边的内容,原先一直用的pdfbox但是文件过大的时候性能会有问题。所以改变了思路,直接在java里边调用命令行执行转换,把pdf转换成txt内容,可以直接输出..