ImageMagick安装
sudo apt-get install imagemagick
图片修改
修改分辨率
可强制修改分辨率
,注意数字之间是个小写的字母x,不是乘号
convert -resize 720x1280! in.jpg out720x1280.jpg
调整图像大小
缩减图像为原来的50%x50%,
convert -sample 50%x50% in.jpg out.jpg
压缩图像
压缩图像大小
convert antialias -quality 80 压缩质量为80%
裁剪
convert in.jpg -crop wxh+dx+dy out.jpg
通用格式转换
convert in.jpg out.png
convert in.gif out.bmp
convert -quality100-antialias -density96-transparent white -trim in.pdf out.png
图片转pdf
当图片转pdf出错时候参考最后一条
vim /etc/ImageMagick-6/policy.xml
<policy domain="coder" rights="none" pattern="PDF" />
change none
to write
- 将彩色图像 RGB 转换为灰度图像 Gray
convert color1.png -colorspace Gray gray1.png
批量格式转换与合并
for i in *.jpeg; do convert ii.pdf; done
pdfunite *.pdf merged.pdf
旋转图像
顺时针旋转270度
convert -rotate 270 in.jpg out.jpg
插入文字
convert -pointsize 28 -draw 'text 700,550 "1986" ' 1996.jpg bb.jpg
- convert 可使用字体,查看
convert -list font | grep "Italic"
- 然后,在图像的10,80 位置采用24磅的全黑Helvetica字体写上 Hello, World!
convert -fill black -pointsize 24 -font helvetica -draw 'text 10,80 "Hello, World!"' hello.png helloworld.png
- 给图片添加标注
convert -font Ubuntu-Bold-Italic -pointsize 20 -draw "text 110 210 '(a)'" 2.png new2.png
拼接图像
多张图片拼图在一起
montage 1.png -geometry +0+20 new1.png
背景透明
convert 杨老师电子签名.jpg y.png
convert y.png -fuzz 10% -transparent white test.png
查看图片信息
identify 2.png
制作gif动画
convert -delay 80 *.jpg -loop 0 test.gif
- -delay 120 : The GIF animation speed (Ref)
- -loop 0 : Infinite loops of the animation.
pdf 操作
生成目录(pdftk方法)
首先获取 pdf 文件结构
pdftk in.pdf dump_data output info
其中in.pdf是希望修改的pdf文件,info是自由指定的pdf文件结构输出文件,dump_data是pdftk的获取结构的指令,output是pdftk的输出到文件的指令。运行成功则生成info文件。
然后,输出添加目录后的pdf文件
pdftk in.pdf update_info info output out.pdf
命令中in.pdf是待修改的pdf源文件,info是我们准备好的pdf结构文件,out.pdf则是希望输出的pdf的文件名;update_info是pdftk更新pdf结构的指令。注意输出文件名不能和输入文件名重名,若希望原位修改则需要自己手动重命名了。
ref: ref
使用gs合并PDF文件并添加目录
gs -q sDEVICE=pdfwrite -dBATCH -sOUTPUTFILE=new.pdf -dNOPAUSE 博后01申请表.pdf 博后02进站审核表.pdf 博后03中期考核表.pdf 博后04工作期满审批表.pdf 博后05工作期满业务考核表.pdf 博后06出站考核表.pdf pdfmark
压缩 pdf
使用latex等生成pdf格式的文件时,若其中包含过多的高清图片,会导致PDF文件过大,不便于传输和存储。特别是论文投稿时候会对pdf大小有一定要求,这里介绍几种在linux平台下压缩PDF文件的工具.
Install on Debian/Ubuntu
sudo apt install ghostscript
Install on Archlinux
sudo pacman -S ghostscript
压缩命令
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed_PDF_file.pdf input_PDF_file.pdf
在上面的命令中,您需要设置源文件和压缩后文件的正确路径。
/prepress
(默认) 高质量 (300 dpi) 但文件较大/ebook
中质量 (150 dpi) 适中的文件大小/screen
低质量 (72 dpi) 但输出文件较小
参考文献:insidentally
#!/bin/bash
if [ # -lt 2 ]; then
echo "Usage: sh0 para1 para2"
echo " "
echo "e.g. : "
echo "m.split.compress.pdf.sh out.pdf input.pdf"
exit 1
fi
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=1 "2"
echo " "
echo "finish compressed as $1.pdf"
合并PDF(pdfunite方法)
pdfunite
是 Poppler 提供的一个工具,一般系统都已经安装了 Poppler,所以这个工具在 Linux 下是很常见的。
pdfunite input1.pdf input2.pdf input3.pdf output.pdf
合并PDF(cpdf命令行方法)
cpdf 全称是 Coherent PDF Command Line Tools,是一个强大的 PDF 处理工具。PDF 合并只是它的一个功能之一。
cpdf input1.pdf input2.pdf -o output.pdf
合并PDF(pdfjam方法)
如果你安装了 TeXLive,并且安装了 pdfpage 包,则其中包含了 pdfjam
工具。
pdfjam input1.pdf input2.pdf input3.pdf -o output.pdf
该命令的选项很多,可以通过 pdfjam --help
查看。
pdfjoin
是 pdfjam
的一个封装,也可以直接使用: pdfjoin a.pdf b.pdf
专业的pdftk工具
- 合并 PDF;
- 分割 PDF 页面;
- 旋转 PDF 页面;
- PDF 带密码访问;
- PDF 填加密码;
- 用 X/FDF 填写 PDF 表格;
- 从 PDF 表格中生成 PDF Data Stencils;
- 加背景水印或前景印章;
- 报告 PDF Metrics,书签和元数据;
- 增加 / 更新 PDF 书签或元数据;
- 给 PDF 页面或文档加附件;
- 解压 PDF 附件;
- 分解 PDF 文档为多个单页;
- 解压缩和重压缩页面流;
- 修复受损的 PDF 文档;
pdftk 是专门用于处理 PDF 文档的一套工具。在大多数发行版中都可以直接安装使用。
提取页面
提取1-15页为一个文件
pdftk input.pdf cat 1-15 output new.pdf
提取第1至3,第5,第6至10页,并合并为一个pdf文件
pdftk input.pdf cat 1-3 5 6-10 output combined.pdf
写成工具
#!/bin/bash
# 提取指定页码pdf
#
if [ # -lt 2 ]; then
echo "Usage: sh0 para1 para2 para3"
echo "e.g. : sh 0 ori.pdf 4-12 out.pdf"
exit 1
fi
pdftk1 cat 2 output3
合并页面
合并多个pdf为一个文件
pdftk input1.pdf input2.pdf input3.pdf cat output comined.pdf
按照通配符,合并大量PDF文件
pdftk *.pdf cat output combined.pdf
拆分页面
拆分PDF的每一页为一个新文件 并按照指定格式设定文件名
pdftk input.pdf burst output new_%d.pdf
将一个 PDF 文档分割成一页一个文档:
pdftk in.pdf burst
旋转pdf
按180°旋转所有页面
pdftk input.pdf cat 1-endsouth output output.pdf
顺时针90°旋转第三页,其他页不变
pdftk input.pdf cat 1-2 3east 4-end output output.pdf
加密pdf
pdftk secured.pdf input_pw foopass output unsecured.pdf
压缩 PDF
pdftk mydoc.pdf output mydoc.clear.pdf compress
参考文献:
- linux合并pdf
- pdftk 的选项很多,用法复杂,可以参考 PDF 合并和分割工具—PDFtk 。
- blog.kelu.org
- pdf工具pdftk主页 REF
- 中文使用1 REF
- 中文链接2 REF
参考文献:
- linux合并pdf
- pdftk 的选项很多,用法复杂,可以参考 PDF 合并和分割工具—PDFtk 。
- blog.kelu.org
pdf转图片
Pdftoppm是一个命令行工具,它可以将PDF文档页面转换为PNG等格式的图片。还可以指定图片的分辨率、比例和裁剪图片。
安装
sudo apt install poppler-utils
将pdf转换为图片
pdftoppm -<image_format> <pdf_filename> <image_name>
pdftoppm -png La.pdf La
指定范围页面转图片
将文件 a.pdf
的第10页到第15页转换为PNG
pdftoppm -png -f 10 -l 15 a.pdf a
调整转换图片的DPI质量
Pdftoppm默认将PDF页面转换为DPI为150的图片。
如需要调整,使用参数选项 -rx
和 -ry
。
pdftoppm -png -rx 300 -ry 300 file.pdf file
参考文献: ZHIHU
foxitreader
Downlaod from homepage
安装与卸载
mkdir tmp && mv FoxitReader.enu.setup.2.4.4.0911.x64.run.tar.gz tmp && cd tmp && tar -zxvf FoxitReader.enu.setup.2.4.4.0911.x64.run.tar.gz
./FoxitReader.enu.setup.2.4.4.0911\(r057d814\).x64.run
# 卸载 foxitreader
% Double click the Uninstaller file in the Foxit Reader installation directory.
cd /home/u/opt/foxitsoftware/foxitreader
Thunar
% ./maintenancetool.sh
修改
If you want to read all PDF files using adobe acrobat do the following changes,Edit the /etc/gnome/defaults.list file
sudo gedit /etc/gnome/defaults.list
Change the following line
application/pdf=evince.desktop
application/pdf=acroread.desktop
Also add the following lines in the end
application/fdf=acroread.desktop
application/xdp=acroread.desktop
application/xfdf=acroread.desktop
application/pdx=acroread.desktop