-
pdf转png
2018-10-12 13:56:43pdf转png,可以用php的一个扩展imagick,我使用过程中,老是导致cpu占100%,所以,我又尝试开发了另一种方法,就是有Ghostscript,这种方法也能实现pdf转图片,并可以设置图片类型为png等。下面着重介绍这种方法: ...pdf转png,可以用php的一个扩展imagick,我使用过程中,老是导致cpu占100%,所以,我又尝试开发了另一种方法,就是有Ghostscript,这种方法也能实现pdf转图片,并可以设置图片类型为png等。下面着重介绍这种方法:
在windows上实现如下:
Pdf2PngforWindows
这是一个nodejs库,运行环境是Windows,如果你想运行在Linux上,
请参考:https://github.com/sanpangzi/Pdf2PngforLinux
本库在windows下,可以把一个多页的pdf转成多个png图片怎么使用这个库?
- 首先下载到本地任意文件夹,使用之前,确保已安装npm,nodejs
- 进入下载后的文件夹,比如:D:\appweb\pdftopngforWindows
进入之后,运行: npm install
这个命令,会安装所需的两个模块tmp及filesource - 安装完以上两个模块,就可以运行测试了,测试命令如下:
node convert.js
不出意外的话,你会看到test文件夹下,有4张图片,分别是1.png 2.png 3.png 4.png
说明
本代码是借助Ghostscript实现的,这个Ghostscript可以像本文一样,直接放入文件夹内,也可以删除本文的executables文件夹,
自己安装Ghostscript,设置环境变量,在path里加入你的安装路径,如果你安装的是64位的Ghostscript,
要把D:\appweb\pdftopngforWindows\lib\pdf2png.js里的gs改为gswin64;
之后,把D:\appweb\pdftopngforWindows\lib\pdfPageCount.js里的gs改为gswin64在Linux上实现如下:
Pdf2PngforLinux
这是一个nodejs库,运行环境是linux,如果你想运行在windows上,
请参考:https://github.com/sanpangzi/Pdf2PngforWindows
本库在Linux下,可以把一个多页的pdf转成多页png图片怎么使用这个库?
- 首先下载到本地任意文件夹,使用之前,确保已安装npm,nodejs
- 进入下载后的文件夹,比如:/usr/local/pdftopngforLinux
进入之后,运行: npm install
这个命令,会安装所需的两个模块tmp及filesource - 本代码是借助Ghostscript实现的,这个Ghostscript需要预先安装,安装方法如下:
sudo apt-get update
sudo apt-get install ghostscript - 安装完以上两个模块,就可以运行测试了,测试命令如下:
node convert.js
不出意外的话,你会看到test文件夹下,有4张图片,分别是1.png 2.png 3.png 4.png
-
PDF转png
2019-12-03 09:59:03 -
PDF转png.rar
2020-04-27 10:27:55pdf转png图片 源码,用的是mupdf库。附带着另外一个文件有传一个mupdf的库 vs2015版本。可以编译运行。 -
java pdf转png
2019-12-27 10:44:54由于icepdf转png时,如果pdf中存在中文有可能会出现乱码问题,引文pdf转png时,使用pdf中的字体,所以需要使用pdf阅读器查看当前使用的pdf使用的所有字体,尤其是中文字体,务必保证pdf中使用的字体全部安装到服务器...方案一 icepdf转png
入坑指南
由于icepdf转png时,如果pdf中存在中文有可能会出现乱码问题,引文pdf转png时,使用pdf中的字体,所以需要使用pdf阅读器查看当前使用的pdf使用的所有字体,尤其是中文字体,务必保证pdf中使用的字体全部安装到服务器,有条件的话尽量提前在正式服务器上验证是否会出现乱码,具体查看pdf中使用的全部字体,方法参考:点击查看
本人不建议使用icepdf这个三方工具类,因为我遇到了服务器上由于字体问题导致乱码问题,解决起来,很麻烦。推荐使用方案二
使用指南
项目添加依赖:
<!-- https://mvnrepository.com/artifact/org.icepdf.os/icepdf-core --><dependency> <groupId>org.icepdf.os</groupId> <artifactId>icepdf-core</artifactId> <version>6.2.2</version> <exclusions> <exclusion> <groupId>javax.media</groupId> <artifactId>jai_core</artifactId> </exclusion> </exclusions> </dependency>
具体使用的代码: /** * 根据pdfurl转png图片 * @param url pdfurl * @return 转成本地png文件地址集合,使用后需要删除 * @throws InterruptedException */ public static List<String> pdf2Image(String url) throws InterruptedException { // pdf转成本地png结果集合 List<String> localPathPngList = Lists.newArrayList(); Document document = new Document(); try{ // 此处会进行url地址的链接解析、流转换 document.setUrl(new URL(url)); // 缩放比例 float scale = 2.0f; // 旋转角度 float rotation = 0f; String uuid = UUID.randomUUID().toString().replaceAll("-",""); String toLocalDir = "/Users/wucj/Desktop/pdfToPng/"; toLocalDir = toLocalDir + uuid+"/"; Stopwatch stopwatch = Stopwatch.createStarted(); String toLocalPngPathName = ""; for (int i = 0; i < document.getNumberOfPages(); i++) { BufferedImage image = (BufferedImage) document.getPageImage(i, GraphicsRenderingHints.SCREEN, org.icepdf.core.pobjects.Page.BOUNDARY_CROPBOX, rotation, scale); RenderedImage rendImage = image; try { toLocalPngPathName = toLocalDir+i+".png"; File file = new File(toLocalPngPathName); File dirParentFile = new File(file.getParent()); if(!dirParentFile.exists()){ dirParentFile.mkdirs(); } ImageIO.write(rendImage, "png", file); log.info("给定pdf的url转png,url:{},操作成功",url); localPathPngList.add(toLocalPngPathName); } catch (IOException e) { log.error("url转png,url:{},异常:{}",url,e); }finally { if(null!=image){ image.flush(); } } } log.info("pdf转png响应耗时:{}毫秒",stopwatch.elapsed(TimeUnit.MICROSECONDS)); return localPathPngList; }catch (Exception e){ log.error("给定pdf的url:{}链接建立异常:{}",url,e); return Lists.newArrayList(); }finally { if(null!=document){ document.dispose(); } } }
方案二 pdfbox转png
<dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>fontbox</artifactId> <version>2.0.15</version> </dependency> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.15</version> </dependency>
@Slf4j public class PdfBoxToPngUtils { private static final String toLocalDir = "/data/logs"; /** * pdf url地址转图片 * @param pdfUrl pdf url * @return List<String> */ public static List<String> pdfToPngAndUpload(String pdfUrl){ List<String> localFilePathList = pdfUrlToLocalPdf(pdfUrl); if(CollectionUtils.isEmpty(localFilePathList)){ return Lists.newArrayList(); } // 文件名称 String localFileName = ""; // png文件的后缀 String pngSuffix = ".png"; // 转换成功之后的png url String pngUrl = ""; List<String> pngUrlList = Lists.newArrayList(); for (String localFilePath : localFilePathList) { String[] localFilePathArr = localFilePath.split("\\/"); if(localFilePathArr.length>1){ localFileName = localFilePathArr[localFilePathArr.length-1]; } try{ if(!StringUtils.isBlank(localFileName)&&localFileName.contains(pngSuffix)){ pngUrl = CloudUtil.uploadFile(UcloudConfig.BUCKET_DEVELOP, localFilePath, localFileName); if(!StringUtils.isBlank(pngUrl)){ pngUrlList.add(pngUrl); } }else{ log.info("本地临时文件:{},上传至ucloud地址:{}",localFilePath,pngUrl); } }catch (Exception e){ log.error("本地临时文件:{}上传至ucloud异常:{}",localFilePath,e); }finally { // 本地文件上传至服务器之后,删除本地缓存 log.info("删除本地文件,{}", localFilePath); com.mryx.fms.invoice.common.util.FileUtils.deleteFile(localFilePath); } } return pngUrlList; } /** * 网络pdf url文件转图片 * @param url pdf网络文件 * @return 集合 */ public static List<String> pdfUrlToLocalPdf(String url){ String filePath = toLocalDir+"/"+ UUIDUtil.create() +".pdf"; try{ org.apache.commons.io.FileUtils.copyURLToFile(new URL(url),new File(filePath),1000*60,1000*60); }catch (Exception e){ log.error("pdfbox转png异常:{}",e); return Lists.newArrayList(); } try{ return pdfToImagePath(filePath); }catch (Exception e){ log.error("pdfbox转png异常:{}",e); return Lists.newArrayList(); }finally { // 删除本地保存的临时文件 FileUtils.deleteQuietly(new File(filePath)); } } /** * 将PDF按页数每页转换成一个jpg图片 * @param pdfFilePath 本地pdf文件路径 * @return 转换后的图片本地地址集合 */ public static List<String> pdfToImagePath(String pdfFilePath){ List<String> list = new ArrayList<>(16); String imagePath; File file = new File(pdfFilePath); PDDocument doc = null; try { File f = new File(toLocalDir); if(!f.exists()){ f.mkdir(); } doc = PDDocument.load(file); PDFRenderer renderer = new PDFRenderer(doc); int pageCount = doc.getNumberOfPages(); for(int i=0; i<pageCount; i++){ /** * 方式1,第二个参数是设置缩放比(即像素) renderImageWithDPI(i, 296); * 方式2,第二个参数是设置缩放比(即像素) 第二个参数越大生成图片分辨率越高,转换时间也就越长 */ BufferedImage image = renderer.renderImage(i, 1.25f); imagePath = toLocalDir + "/"+UUIDUtil.create() + ".png"; ImageIO.write(image, "PNG", new File(imagePath)); list.add(imagePath); } } catch (IOException e) { log.error("pdfbox转图片异常:{}",e); }finally { if(null!=doc){ try { // 关闭文件,不然该pdf文件会一直被占用。 doc.close(); } catch (IOException e) { e.printStackTrace(); } } } return list; } }
-
txt转pdf pdf转png png转pdf 图片水印 源代码
2018-04-12 10:00:07生成方法 和jar包 -
PDF转PNG或者BMP格式的工具
2017-08-25 15:33:15PDF转PNG或者BMP格式的工具,可以直接转成BMP格式的图片,单色,彩都可以 -
icepdf-core-6.3.2pojie.jar pdf转png无水印
2019-06-05 00:31:32icepdf-core-6.3.2pojie.jar pdf转png无水印 -
python中PDF转png图片
2019-12-17 16:41:03python中PDF转png图片: 调用第三方文件 :mutool 官方文档:https://mupdf.com/docs/manual-mutool-draw.html def convert_pdf_to_png(request_id, pdf_data,image_saving_path): # pdf_data pdf文件流。image_...python中PDF转png图片:
调用第三方文件 :mutool
官方文档:https://mupdf.com/docs/manual-mutool-draw.html
# mutool command usage "mutool draw -r resolution -o output pdfsource [page 1,5,10-15]" command = '%s draw -r 200 -o %s/out%%d.png %s' % (mutool, root_path, pdf_file_path) # 转换为png %d会默认对应pdf的页数
-
PDF转换png.zip
2019-07-30 09:38:02可以将PDF文件转换为PNG图片格式保存在指定的文件夹内 -
PDF转PNG图片
2017-08-03 16:18:12提供PDF格式的图片转成单色或者多色的PNG图片。因代码量大,无法全部上传。可以留邮箱私发。 -
PDF转PNG小工具.exe
2020-09-02 16:29:481.将程序放到PDF文件堆里 2.点击按钮后可将PDF转换为PNG 3.转换完成后程序自动关闭并删除pdf文件 -
java pdf转png格式_如何在Java中将PDF转换为PNG或JPG
2021-03-22 12:19:22如何在Java中将PDF转换为PNG或JPG对于以dcopy 和digitally形式共享文档,PDF文件格式是首选。 由于PDF格式具有高度的多功能性和不同操作系统之间的兼容性,因此用户可以创建,编辑,加密和锁定重要文档,以便在任何... -
轻松实现各种文档格式转换,doc转pdf、doc转png图片、pdf转png图片,可以实现Windows、Linux、MacOS平台上...
2020-11-08 22:08:22轻松实现各种文档格式转换,doc转pdf、doc转png图片、pdf转png图片,可以实现Windows、Linux、MacOS平台上部署,可以通过命令行、shell脚本、python等方式调用。 实现效果:已经可以通过一个函数方法进行调用实现... -
关于 php pdf转png的解决方案。
2017-08-31 17:02:37忙忙碌碌了俩天的时间,终于把项目pdf转png所遇到的一些问题搞的差不多了, 趁空闲时间把自己遇到的一些坑和大家分享下。网上关于php pdf转png的解决方案有的很简单的就说了下 用ImageMagic 读入pdf,然后传入参数... -
java pdf png_java pdf转png
2021-02-12 22:44:34import org.apache.pdfbox.pdmodel....import org.apache.pdfbox.rendering.PDFRenderer;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import javax.imageio.ImageIO;import java.awt.image.Buf... -
【PS】免费 使用PS批量将pdf转换成图片 pdf转图片 pdf转jpg pdf转png
2020-07-23 14:32:40将各种各样的pdf转成图片,是比较普遍的需求,不过目前的各种转换器,不是收费,就是限制转换数量,要不就是强制加水印,很烦。 这里我们使用PS打开PDF,然后使用PS的宏,一键将图片保存到本地 一、使用PS打开... -
PPT/PPTX/PDF转PNG(POI PDFBox) 版
2014-11-01 11:13:24自己写了一个PPT/PPTX/PDF转PNG的程序,用POI转PPT和PPTX,用PDFBOX转PDF 基本解字体不识别的问题(比如有些lunix系统不能识别个别字体).如果还有字体问题,可以把所有字体设置成宋体 -
icepdf 5.0.4 pro 包+demo(pdf转png转html)去除水印 带字体引擎
2013-12-16 16:56:23使用icepdf 5.0.4做的pdf转png 转html的demo 5.0.4 pro性能比之前的都好,内存占用更少,字库更全面。 试过网络上4.3.2去水印版 ,在文件较大时候都会内存溢出,而且有些pdf的中文乱码(也有些可以)。 demo里... -
pdf转png-分割pdf合并pdf
2020-02-17 22:01:46PDF文件转换成多种图片格式工具 v4.1 绿色免费版 https://www.cr173.com/soft/36079.html http://dx.198424.com/soft3/ap_pdf_to_image.zip PDF文件合并分割工具 pojie版 ... -
PHP pdf 转 png
2020-07-02 15:07:38$s = pdf2png($pdf,DIR_STORAGE.'/rma_excel/'); 6.注意点 这东西坑的很,本质上调的是ImageMagick Display的接口 特别要注意php版本和ImageMagick的匹配,phpinfo中会给出需要安装的软件版本 一旦遇到readImage的... -
针对python的pdf转png的一些问题总结
2018-09-17 18:49:57针对python的pdf转png的一些问题总结 参考大神的方法,原文:https://blog.csdn.net/sweeper_freedoman/article/details/53000145 直接copy了代码过来发现了一些问题,很初级,但对于初学python和使用命令行... -
Java中word转pdf转png
2021-04-13 15:35:54--word转pdf--> <dependency> <groupId>com.documents4j</groupId> <artifactId>documents4j-local</artifactId> <version>1.0.3</version> </depend. -
Python的PDF转PNG图片
2020-06-29 22:19:52下面的代码为PDF转成PNG图片的代码,upload_house_image()函数 def upload_house_image(request): from datetime import datetime import fitz url_list = [] # 因为PDF是多页图片,所以要用list类型将这些图片... -
java pdf转png格式_Java 将PDF转换为PNG图片、HTML、SVG、XPS、Word等文件格式
2021-03-15 13:17:50本文将介绍如何使用Java程序来将PDF文档转换为PNG图片、HTML、Word、SVG及XPS格式。一、使用工具及环境创建环境创建:方法1:首先,通过官网下载获取Free Spire.PDF for Java;其次,解压后找到lib文件夹下的Spire.... -
PDF 转 PNG JPG 操作
2018-11-12 10:58:00gs -dSAFER -dBATCH -dNOPAUSE -r300 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sDEVICE=pnggray -sOutputFile=test.png -dFirstPage=1 -dLastPage=1 OUT.pdf gs -dSAFER -dBATCH -dNOPAUSE -r300 -... -
pdf转png图片遇到的问题
2018-07-13 07:11:15因为有好几种方法,但大都有问题,试用pdfbox转换的时候PDF竖线都很粗  因不知什么原因导致,试用了第二种方法icepdf转换,但都是... -
python中pdf转png图片
2021-02-25 10:40:01将pdf按照图片保存。 代码 pdf_dir = [] chdir(Address) # 填文件地址 # 找pdf文件 docunames =listdir() # 读取该地址下的文件 if docunames == False: print("无文件") for docuname in docunames: # 遍历文件,...