您需要找出页数,然后将其与pdftk cat函数一起使用,因为(AFAICT)pdftk不允许指定“自上一偏移量”。

Poppler([http://poppler.freedesktop.org/)]中的'pdfinfo'这样的工具可以提供此功能。

将其包装在一些bash脚本中可以轻松实现以下过程的自动化:

page_count=`pdfinfo "$INFILE" | grep 'Pages:' | awk '{print $2}'`

page_count=$(( $page_count - 1 ))

pdftk A="$INFILE" cat A1-$page_count output "$OUTFILE"

显然,可以在上述脚本中添加参数,错误检查和不该做的:

#! /bin/sh

### Path to the PDF Toolkit executable 'pdftk'

pdftk='/usr/bin/pdftk'

pdfinfo='/usr/bin/pdfinfo'

####################################################################

script=`basename "$0"`

### Script help

if [ "$1" = "" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$1" = "-?" ] || [ "$1" = "/?" ]; then

echo "$script: []"

echo " Removes the last page from the PDF, overwriting the source"

echo " if no output filename is given"

exit 1

fi

### Check we have pdftk available

if [ ! -x "$pdftk" ] || [ ! -x "$pdfinfo" ]; then

echo "$script: The PDF Toolkit and/or Poppler doesn't seem to be installed"

echo " (was looking for the [$pdftk] and [$pdfinfo] executables)"

exit 2

fi

### Check our input is OK

INFILE="$1"

if [ ! -r "$INFILE" ]; then

echo "$script: Failed to read [$INFILE]"

exit 2

fi

OUTFILE="$2"

if [ "$OUTFILE" = "" ]; then

echo "$script: Will overwrite [$INFILE] if processing is ok"

fi

timestamp=`date +"%Y%m%d-%H%M%S"`

tmpfile="/tmp/$script.$timestamp"

page_count=`$pdfinfo "$INFILE" | grep 'Pages:' | awk '{print $2}'`

page_count=$(( $page_count - 1 ))

### Do the deed!

$pdftk A="$INFILE" cat A1-$page_count output "$tmpfile"

### Was it good for you?

if [ $? -eq 0 ]; then

echo "$script: PDF Toolkit says all is good"

if [ "$OUTFILE" = "" ]; then

echo "$script: Overwriting [$INFILE]"

cp -f "$tmpfile" "$INFILE"

else

echo "$script: Creating [$OUTFILE]"

cp -f "$tmpfile" "$OUTFILE"

fi

fi

### Clean Up

if [ -f "$tmpfile" ]; then

rm -f "$tmpfile"

fi

linux强制移除pdf密码,linux-使用PDFtk删除pdf文件的最后一页?相关推荐

  1. PDF编辑方法,怎么删除PDF中的一页

    PDF文件越来越受大家的欢迎,PDF文件的修改编辑是需要用到PDF编辑器的,不知道大家在使用PDF文件的时候,编辑文件之后有没有文件中有页面需要删除的情况,在编辑文件的时候如果遇到文件中有页面需要删除 ...

  2. PDF怎么修改,如何删除PDF水印

    不管是在学习中还是在工作中,都会使用到PDF文件,在很多的时候,大家都会使用到PDF文件,那么,对于PDF文件的修改,则是需要使用到PDF编辑软件的,那么,PDF怎么修改,如何删除PDF水印呢,是不是 ...

  3. PDF如何编辑,怎样删除PDF页眉页脚

    在编辑PDF文件的时候总会遇到各种各样的问题,编辑PDF文件是需要用到PDF编辑器的,在编辑文件的过程中想要删除文档中的页眉页脚应该怎么去删除呢,或者是说修改文件中的页眉页脚怎么去编辑呢,看看下面的文 ...

  4. PDF编辑方法,如何删除PDF背景图片

    越来越多的小伙伴会在工作中遇到PDF文件,也会询问小编有关PDF文件的修改技巧,在编辑PDF文件的时候,发现文件中有背景,想要删除这些背景应该怎么操作呢,不会的小伙伴有福气了,看看下面的文章,说不定就 ...

  5. linux强制移除pdf密码,分享|如何在 Linux 中从一个 PDF 文件中移除密码

    今天,我碰巧分享一个受密码保护的 PDF 文件给我的一个朋友.我知道这个 PDF 文件的密码,但是我不想透露密码.作为代替,我只想移除密码并发送文件给他.我开始在因特网上查找一些简单的方法来从 PDF ...

  6. 使用pdfcrack破解PDF密码(Linux)

    pdfcrack是破解PDF保护密码的Linux命令行工具. 安装pdfcrack Debian系列: # apt install pdfcrack 暴力破解 # pdfcrack -f filena ...

  7. linux安装软件不同用户名密码,Linux的安装和基本命令

    linux: 学习目的:为了熟练掌握linux下的操作. linux诞生: 1991 年4 月 林纳斯·托瓦兹,在学习minix系统的时候发现这个系统的不足,然后开始编写一个新的免费的操作系统,他在开 ...

  8. linux php运行用户名和密码,Linux实例(一)使用用户名密码验证连接Linux

    本篇文章给大家带来的内容是关于使用用户名密码验证连接Linux,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 如果您使用的是 SSH 密钥对,请参考 使用SSH密钥对连接Linux实 ...

  9. linux下用户名怎么修改密码,LINUX用户名密码忘记怎么修改用户密码

    1.LINUX是做什么的? Linux服务器是设计出来进行业务处理应用的,在网络和计算机系统当中有广泛的应用,可以提供数据库管理和网络服务等内容,是一种性能非常高的和开源的服务器,在我国的计算机系统的 ...

  10. linux上mysql5.7忘记密码,Linux下Mysql5.7忘记密码

    一.问题 linux下的mysql5.7忘记密码 二.解决 第一步:打开mysql5.7的配置文件my.cnf,并在里面增加一行:skip-grant-tables   保存并退出(:wq) [roo ...

最新文章

  1. CCommandLineInfo类
  2. OpenStack部署
  3. 罕见图像揭秘苹果Mesa数据中心
  4. Linux bzip2/gzip/zip/tar 命令详解
  5. 转:V.I. Arnold 论数学教育
  6. UIview需要知道的一些事情:setNeedsDisplay、setNeedsLayout
  7. Linux用ctrl + r 查找以前(历史)输入的命令
  8. 软件测试三种错误的是,软件测试中的三种排错方法(知识篇)
  9. C++ ACM程序设计大赛--练习1
  10. pagefile文件大小设置
  11. 只有程序猿才能看懂的段子,不笑你拿小拳拳捶我!!!
  12. 微信公众号赞赏账户头像在哪里修改?附详细图文教程
  13. 一些不错的开源代码网站
  14. protege 和webprotege使用
  15. node-inspector调试node程序
  16. 2022年9月全国计算机二级报名通知 @知识兔
  17. 自主练习:BBS电子布告栏
  18. Eclipse快快捷键
  19. 构建基于openEuler2209的OpenStack云平台(十一)
  20. 使用RTC正式项目模板进行传统项目管理

热门文章

  1. 小白记录问题(2)——关于np.savez()与np.laod()储存与读取字典数据的问题
  2. Linux 10GE端口,CR19000关于10GE端口切换GE口
  3. 随机森林oob_score及oob判断特征重要性
  4. easyui是怎么实现批量删除的_怎么批量删除空间说说-easyui的datagrid实现批量删除...
  5. 浏览器被劫持怎么办,详细讲解浏览器DNS被劫持的解决方法
  6. Unity笔记-29-ARPG游戏项目-10-完善攀爬
  7. android 360短信拦截,Android版360卫士更威武
  8. Keepalived HAProxy应用
  9. ThreeJS —— 机房Demo(二)
  10. 桌面小部件Wight父类AppWidgetProvider的三个方法