写在前面

本随笔是非常菜的菜鸡写的。如有问题请及时提出。

可以联系:1160712160@qq.com

GitHhub:https://github.com/WindDevil (目前啥也没有

动机

由于WPS的提取图片需要收费,作为穷鬼的我直接在bing,键入open source software get picture form pdf.

找到这个项目:VR51/Batch-PDF-Image-Extractor: Extract images from PDF documents. Works on multiple and single PDF files (github.com)

看到这个项目的Requirements:

This script reqires pdfimages to be installed. The script will check for pdfimages and prompt for its installation if not found.

显示需要pdfimages这个工具.

安装

于是继续搜索pdfimages,得到这个网站.

我们可以看到这个库可以直接通过apt-get得到.这里由于需要用到Linux,我使用的是虚拟机的方法可以参考这篇博客.

于是在虚拟机里键入sudo apt-get install poppler-utils,注意它的名字是poppler-utils.

使用方法

直接键入pdfimages -h尝试查找它的教程:

pdfimages version 22.02.0
Copyright 2005-2022 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011 Glyph & Cog, LLC
Usage: pdfimages [options] <PDF-file> <image-root>
-f <int> : first page to convert
-l <int> : last page to convert
-png : change the default output format to PNG
-tiff : change the default output format to TIFF
-j : write JPEG images as JPEG files
-jp2 : write JPEG2000 images as JP2 files
-jbig2 : write JBIG2 images as JBIG2 files
-ccitt : write CCITT images as CCITT files
-all : equivalent to -png -tiff -j -jp2 -jbig2 -ccitt
-list : print list of images instead of saving
-opw <string> : owner password (for encrypted files)
-upw <string> : user password (for encrypted files)
-p : include page numbers in output file names
-q : don't print any messages or errors
-v : print copyright and version info
-h : print usage information
-help : print usage information
--help : print usage information
-? : print usage information

很容易看出使用方法是pdfimages [options] <PDF-file> <image-root>,也即pdfimages+选项+PDF文件路径+输出图片路径.

这里比较重点地点出,如果直接使用指令,默认生成格式不是jpg或者png,需要在输入指令的时候选项部分输入-png或者-j,这个指令就可以把pdffile.pdf的图片提取到当前目录下:

pdfimages -j pdffile.pdf ./

实验

Downloads文件夹下创建files,把主机PDF文件拷贝到虚拟机.

cd ~/Downloads
mkdir files
cd files

我直接用VScode的SSH把文件拖进去的.

写在前面

本随笔是非常菜的菜鸡写的。如有问题请及时提出。

可以联系:1160712160@qq.com

GitHhub:https://github.com/WindDevil (目前啥也没有

动机

由于WPS的提取图片需要收费,作为穷鬼的我直接在bing,键入open source software get picture form pdf.

找到这个项目:VR51/Batch-PDF-Image-Extractor: Extract images from PDF documents. Works on multiple and single PDF files (github.com)

看到这个项目的Requirements:

This script reqires pdfimages to be installed. The script will check for pdfimages and prompt for its installation if not found.

显示需要pdfimages这个工具.

安装

于是继续搜索pdfimages,得到这个网站.

我们可以看到这个库可以直接通过apt-get得到.这里由于需要用到Linux,我使用的是虚拟机的方法可以参考这篇博客.

于是在虚拟机里键入sudo apt-get install poppler-utils,注意它的名字是poppler-utils.

使用方法

直接键入pdfimages -h尝试查找它的教程:

pdfimages version 22.02.0
Copyright 2005-2022 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011 Glyph & Cog, LLC
Usage: pdfimages [options] <PDF-file> <image-root>
-f <int> : first page to convert
-l <int> : last page to convert
-png : change the default output format to PNG
-tiff : change the default output format to TIFF
-j : write JPEG images as JPEG files
-jp2 : write JPEG2000 images as JP2 files
-jbig2 : write JBIG2 images as JBIG2 files
-ccitt : write CCITT images as CCITT files
-all : equivalent to -png -tiff -j -jp2 -jbig2 -ccitt
-list : print list of images instead of saving
-opw <string> : owner password (for encrypted files)
-upw <string> : user password (for encrypted files)
-p : include page numbers in output file names
-q : don't print any messages or errors
-v : print copyright and version info
-h : print usage information
-help : print usage information
--help : print usage information
-? : print usage information

很容易看出使用方法是pdfimages [options] <PDF-file> <image-root>,也即pdfimages+选项+PDF文件路径+输出图片路径.

这里比较重点地点出,如果直接使用指令,默认生成格式不是jpg或者png,需要在输入指令的时候选项部分输入-png或者-j,这个指令就可以把pdffile.pdf的图片提取到当前目录下:

pdfimages -j pdffile.pdf ./

实验

Downloads文件夹下创建files,把主机PDF文件拷贝到虚拟机.

cd ~/Downloads
mkdir files
cd files

我直接用VScode的SSH把文件拖进去的.

然后执行pdfimages -j LDO.pdf ./,使用ls指令看一下生成了什么:

-000.ppm  -001.ppm  -002.ppm  -003.ppm  -004.ppm  -005.ppm  LDO.pdf

很奇怪地没用生成.jpg而是.ppm,挠头.

改为执行pdfimages -png LDO.pdf ./,使用ls指令看一下生成了什么:

-000.png  -000.ppm  -001.png  -001.ppm  -002.png  -002.ppm  -003.png  -003.ppm  -004.png  -004.ppm  -005.png  -005.ppm  LDO.pdf

确实可以生成.png文件.

然后只需要把图片从虚拟机拷出来就行了.

然后执行pdfimages -j LDO.pdf ./,使用ls指令看一下生成了什么:

-000.ppm  -001.ppm  -002.ppm  -003.ppm  -004.ppm  -005.ppm  LDO.pdf

很奇怪地没用生成.jpg而是.ppm,挠头.

改为执行pdfimages -png LDO.pdf ./,使用ls指令看一下生成了什么:

-000.png  -000.ppm  -001.png  -001.ppm  -002.png  -002.ppm  -003.png  -003.ppm  -004.png  -004.ppm  -005.png  -005.ppm  LDO.pdf

确实可以生成.png文件.

然后只需要把图片从虚拟机拷出来就行了.

如何免费提取PDF里的图片-pdfimages使用教程的更多相关文章

  1. Java 添加、提取PDF中的图片

    Spire.Cloud.SDK for Java提供了PdfImagesApi接口可用于添加图片到PDF文档addImage().提取PDF中的图片extractImages(),具体操作步骤和Jav ...

  2. 用Spire.PDF提取PDF里的PNG图片

    用Nuget抓取类库,FreeSpire.PDF就可以 代码如下 , 亲测可以抓取PNG图形,即使原图是JPG,也会存成PNG格式输出: //加载PDF文档 PdfDocument doc = new ...

  3. Java 使用PDFBox提取PDF文件中的图片

    今天做PDF文件解析,遇到一个需求:提取文件中的图片并保存.使用的是流行的apache开源jar包pdfbox, 但还是遇到坑了,比如pdfbox版本太高或太低都不能用!!这个包竟然没有很好地做好兼容 ...

  4. 利用python第三方库提取PDF文件的表格内容

    小爬最近接到一个棘手任务:需要提取手机话费电子发票PDF文件中的数据.接到这个任务的第一时间,小爬决定搜集各个地区各个时间段的电子发票文件,看看其中的差异点.粗略统计下来,PDF文件的表格框架是统一的 ...

  5. CAD转PDF再由pdf转jpg图片

    免费的PDF转JPG图片 https://www.gaitubao.com/pdf-to-jpg/

  6. 个人永久性免费-Excel催化剂功能第88波-批量提取pdf文件信息(图片、表格、文本等)

    日常办公场合中,除了常规的Excel.Word.PPT等文档外,还有一个不可忽略的文件格式是pdf格式,而对于想从pdf文件中获取信息时,常规方法将变得非常痛苦和麻烦.此篇给大家送一pdf文件提取信息 ...

  7. 在线提取PDF中图片和文字

    无需下载软件,你就可以在线提取PDF中图片和文字,http://www.extractpdf.com/不仅可以获取本地PDF文档的图片和文字,还能获取远程PDF文档的图片和文字.如下图所示:结果本人测 ...

  8. C#如何在PDF文件添加图片印章

    文档中添加印章可以起一定的作用,比如,防止文件随意被使用,或者确保文档内容的安全性和权威性.C#添加图片印章其实也有很多实现方法,这里我使用的是免费的第三方软件Free Spire.PDF,向大家阐述 ...

  9. C#技术分享【PDF转换成图片——13种方案】(2013-07-25重新整理)

    原文:C#技术分享[PDF转换成图片--13种方案](2013-07-25重新整理) 重要说明:本博已迁移到 石佳劼的博客,有疑问请到 文章新地址 留言!!! 写在最前面:为了节约大家时间,撸主把最常 ...

  10. C#技术分享【PDF转换成图片——11种方案】

    1.[iTextSharp.dll],C# 开源PDF处理工具,可以任意操作PDF,并可以提取PDF中的文字和图片,但不能直接将PDF转换成图片. DLL和源码 下载地址:http://downloa ...

随机推荐

  1. ASP.NET Core SignalR 概述

    什么是 SignalR? ASP.NET Core SignalR 是一个开放源代码库,可用于简化向应用添加实时 Web 功能. 实时 Web 功能使服务器端代码能够将内容推送到客户端. 适合 Sig ...

  2. 一文搞懂 MySQL 日志

    前言 MySQL 的日志记录了运行的各种信息,是 MySQL 事务.性能.数据容灾.异常排查等的基础.本文将介绍 MySQL 一些关键日志的作用和原理. MySQL InnoDB 引擎重要的三个日志: ...

  3. 笔记本重装系统后重装OFFICE(预装的,赠送的)

    笔记本重装系统后重装OFFICE(预装的,赠送的) 1.首先用edge打开bing搜索微软账号,谷歌浏览器也行就是登录微软账号多了一步 2.进去后点击服务和订阅那一栏,然后可以看到自己已购买的产品.再 ...

  4. C#.NET FRAMEWORK ASP.NET MVC 获取客户端IP

    C#.NET FRAMEWORK ASP.NET MVC 获取客户端IP 工具类: using System; namespace CommonUtils { public static class ...

  5. 太卷了,史上最简单的监控系统 catpaw 简介

    指标监控的痛点 当下比较流行的监控系统,比如 Prometheus.Nightingale.VictoriaMetrics,都是基于数值型指标的监控系统,这类监控系统的痛点在于:告警的时候只能拿到异常 ...

  6. 鸿蒙HarmonyOS实战-窗口管理

    前言 窗口管理是指计算机操作系统中管理和控制窗口的一种机制.窗口管理器负责处理窗口的创建.关闭.移动.调整大小等操作,并且决定窗口的位置.层级.是否可见.是否接收用户输入等属性.窗口管理器还负责绘制窗 ...

  7. Mac 上切换 node 版本总结

    Mac 上切换 node 版本总结 背景 在做项目的时候,往往会遇到老项目没有升级的问题,node环境版本比较低,自己电脑安装或者新项目安装了最新版本的 node 环境,那么既要支持老版本的使用也要支 ...

  8. python类和对象初识

    # python类和对象初识 a = 2 b = 3 print(id(a)) print(type(a)) print(a) print(id(b)) print(type(b)) print(b) ...

  9. Thread的join方法demo

    Thread的join方法demo /** * 关于join官方的解释是 Waits for this thread to die. 也就是等待一个线程结束. */ public class Thre ...

  10. 记Codes 重新定义 SaaS模式开源免费研发项目管理平台——多事项闭环迭代的创新实现

    1.简介 Codes 重新定义 SaaS 模式 = 云端认证 + 程序及数据本地安装 + 不限功能 + 30 人免费 Codes 是一个 高效.简洁.轻量的一站式研发项目管理平台.包含需求管理,任务管 ...