linux下进行图片压缩(pdf转换为jpg)

linux下进行图片压缩(pdf转换为jpg)

1、安装imagemagic
rpm -vih imagemagic-版本号.rpm --force --nodeps

rpm -vih imageMagick-libs-版本号.rpm --force --nodeps

2、确保安装了各种图片格式的lib,如果没有安装请安装(可以选择性的安装)

 yum install libjpeg
 yum install libjpeg-devel
 yum install libpng
 yum install libpng-devel
 yum install libtiff
 yum install libtiff-devel
 yum install libungif
 yum install libungif-devel
 yum install freetype
 yum install zlib 

3、验证是否安装成功
convert -h

4、如果convert -h命令报各种共享库找不到的话
- 首先在/etc/ld.so.conf中加入一行:/usr/local/lib

  • 然后执行ldconfig

5、如果还是包一些共享类库找不到的话就需要自己去下载安装。

yum install lcms2
yum install fftw-libs-double
yum install fontconfig
yum install libXext
yum install libXt
yum install libtool-ltdl

6、执行转换图片质量或者把pdf转换成图片
convert -resize 2100x -density 120 quality 120 old.pdf new.jpg


Notes:
ldconfig命令的用途主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。


Java程序中进行图片压缩

public class ConvertImg {
    private  String commandLine="convert -resize 100%x100%  -quality 25 name.pdf name.jpg";
    private static final Logger log= LoggerFactory.getLogger(ShellPPT2PDF.class);
    public  void convert(String pdfPath,String imgPath) throws IOException, InterruptedException {

        String cmdLine = commandLine.replace("name.pdf",pdfPath).replace("name.jpg",imgPath);
        log.info("====================命令"+cmdLine);
        Process p= null;
        p = Runtime.getRuntime().exec(cmdLine);
        p.waitFor();
    }
}


August 3, 2018 6:39 PM @wuyanlong


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 将16进制图片转换jpg图片的过程可以使用编程语言来实现。首先,我们需要将16进制字符串转换为字节流。在Python中,可以使用`bytes.fromhex()`函数将16进制字符串转换为字节流。然后,我们将字节流写入到文件中,文件的扩展名为jpg。最后,我们可以使用图片查看器来打开生成的jpg图片。 以下是一个示例Python代码实现: ```python # 导入所需模块 import binascii # 16进制字符串 hex_str = "FFD8FFE000104A46494600010100000100010000FFDB0043000C08080C07080F0E0D100F0E1A134D1E1706001A1A1A271D2B262A262B303634464066484C4B40434C6E5C373B496A796F4A26592E474143404EAC080283ADECBD60FD0F50D608F5C81E3078FBFD52BA9F9CF3D383A4F79C82F0348481F1224B163A5555475E818CBD9671A295062EB195535929D4E05E06B0FF6784E7EAEBCCE100983EDFCDDD0F2B542B4321427A5790483D8BCA155186313A4D34B9D5C016952E6AB7CD2B0CE6D6C9E791A175E4E134248AD0715089CCFF5E3AE4A24DAB6327977D22706BC48DD6D75542976AC242485905246617EEAFDBB76ACEFE1A628B7CDDF9C2A8249983454658591EFB0D0705A131AB5A1853C0FF1C64CCACFA0C18E3A30AF2409A5202B6B22216B73AD4B36F6A51AA105B590FAD064A81C13A905D043AA94083AAEB570487B8081F65604654659467D265498F9EE420AE6342FAC65CCEBE5843BB070A3AB550A06306D2526157385304E54CB6BE74B917699FB6C9EC0627D7571B95050D8C40F404172E6C7C77032E39D251D1EA43360ADAE852F1E845AC1AD3EDB4E5FAAD529AAAA1910882FB34F6523F7C459C929B715D7C6B8E18D54C9FF01DFA5A2A79B5022F8AA8F4A209854A51A89C204D63AC2E43C78700136AA181F41F271AFC055732121B3D5928F656264181788AF2051C7072C66598B4E55DFD4DF0E30A491C2D84E1400AAEEA644D8292A3F5E12C71AEEE02DE5BC30001FFD9" # 将16进制字符串转换为字节流 byte_stream = binascii.unhexlify(hex_str) # 将字节流写入文件,扩展名为jpg with open("image.jpg", "wb") as f: f.write(byte_stream) print("图片转换完成!") ``` 执行以上代码后,它会将16进制字符串转换jpg图片,并保存为名为"image.jpg"的文件。我们可以在文件浏览器中找到并打开这个图片文件。 ### 回答2: 将16进制图片转换jpg格式的图片需要进行以下步骤: 1. 将16进制数据转换为二进制数据:由于计算机中存储的数据是以二进制形式存储的,所以需要将16进制数据转换为二进制形式。 2. 按照图片的格式进行解码:16进制图片可能有不同的格式,比如BMP、PNG等,需要根据实际情况进行解码,将其还原为原始的图像数据。 3. 将解码后的图像数据保存为jpg格式的文件:使用适当的图像处理工具或编程语言,将解码后的图像数据保存为jpg格式的文件。 4. 调整图像的大小和质量(可选):根据需要,可以对图像进行调整,包括大小和质量等方面的调整。 5. 最后保存jpg格式的图片:将调整后的图像保存为jpg格式的图片文件。 总结起来,将16进制图片转换jpg格式的图片需要先将16进制数据转换为二进制数据,再进行解码和保存为jpg格式的文件。通过这些步骤,就能成功地将16进制图片转换jpg格式的图片。 ### 回答3: 将16进制图片转换jpg图片需要经过以下几个步骤。 首先,需要将16进制图片转换为二进制数据。在计算机中,图片的存储是以二进制形式进行的。而16进制则是一种表示二进制的方法,每个16进制数对应四位二进制数。所以可以将16进制图片中的每个16进制数转换为对应的四位二进制数,然后将所有的二进制数连在一起,就得到了图片的二进制数据。 接下来,需要了解16进制图片的长宽和颜色信息。通常,16进制图片的颜色信息是以RGB(红绿蓝)格式存储的。每个像素点都有对应的RGB数值,表示该点的颜色。另外,还需要知道图片的长宽信息,以确定像素的排列方式。 然后,根据二进制数据和颜色信息,可以构造一张新的jpg图片jpg是一种常见的图片格式,支持高压缩率和无损压缩。可以使用图形处理软件或者编程语言来实现这一步骤。根据图片的长宽信息,将二进制数据按照像素点的排列方式填充到对应的位置,并根据颜色信息为每个像素点赋予相应的颜色值。 最后,保存新生成的jpg图片。可以选择将图片保存到计算机的磁盘中,或者直接输出到屏幕上。这样就完成了将16进制图片转换jpg图片的过程。 总结起来,将16进制图片转换jpg图片需要将16进制转换为二进制数据,获取颜色和长宽信息,构造新的jpg图片,最后保存生成的jpg图片

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值