linux如何解除密码,如何在Linux下解除PDF文件的密码?

dcdbe4dd837cff3de459e080c38ec152.png

【51CTO.com快译】今天,我碰巧与一位朋友共享一个受密码保护的PDF文件。我知道该PDF文件的密码,但不想透露。相反,我只想解除密码,将文件发送给朋友。于是我开始在网上找一些简单的方法,好解除PDF文件的密码保护。上网搜索一番后,我总结了在Linux下解除PDF文件中密码的四种方法。

***种方法:使用Qpdf

Qpdf是一款PDF转换软件,用于加密和解密PDF文件,将PDF文件转换成另一个同等的PDF文件。Qpdf出现在大多数Linux发行版的默认代码仓库中,因此可以用默认的软件包管理器来安装它。

比如说,Qpdf可以使用pacman安装在Arch Linux及衍生版本上,如下所示:

$ sudo pacman -S qpdf

在Debian、Ubuntu或Linux Mint上:

$ sudo apt-get install qpdf

现在不妨使用qpdf解除PDF文件的密码。

我有一个受密码保护的PDF文件,名为“secure.pdf”。每当我打开该文件,它都会提示我输入密码以显示内容。

ec0178b0e8609631a09f72135f546e59.png

我知道上述PDF文件的密码,但不想与别人共享密码。于是我要做的就是运行下列命令,使用Qpdf工具解除PDF文件的密码。

$ qpdf--password='123456' --decrypt secure.pdf output.pdf

是不是很容易?确实很容易!这里,123456是secure.pdf文件的密码。把这个密码换成你自己的密码。

第二种方法:使用Pdftk

Pdftk是处理PDF文档的另一款优秀软件。Pdftk可以处理几乎所有的PDF操作,比如:

加密和解密PDF文件。

合并PDF文档。

整理PDF页面扫描。

拆分PDF页面。

旋转PDF文件或页面。

用X/FDF数据填充PDF表格及/或把PDF表格域解除。

从PDF表格生成FDF数据模板。

应用背景水印或前景印章。

报告PDF指标、书签和元数据。

添加/更新PDF书签或元数据。

将文件附加到PDF页面或PDF文档。

提取PDF附件。

将PDF文件分成单页。

压缩和解压缩页面流。

修复损坏的PDF文件。

Pdftk出现在AUR中,因此你可以在Arch Linux或衍生版本上,使用任何AUR帮助程序来安装它。

使用Pacaur:

$ pacaur -S pdftk

使用Packer:

$ packer -S pdftk

使用Trizen:

$ trizen -S pdftk

使用Yay:

$ yay -S pdftk

使用Yaourt:

$ yaourt -S pdftk

在Debian、Ubuntu或Linux Mint上,运行:

$ sudo apt-get instal pdftk

在CentOS、Fedora或Red Hat上:

先安装EPEL代码仓库:

$ sudo yum install epel-release

$ sudo dnf install epel-release

然后使用下列命令,安装PDFtk应用程序:

$ sudo yum install pdftk

$ sudo dnf install pdftk

一旦pdftk安装完毕,你可以使用下列命令,解除PDF文档的密码:

$ pdftk secure.pdf input_pw 123456outputoutput.pdf

将“123456”换成正确的密码。该命令解密“secure.pdf”文件,并创建一个名为“output.pdf”的非密码保护的同等文件。

第三种方法:使用Poppler

Poppler是基于xpdf-3.0代码库的PDF渲染库。它包含用于处理PDF文档的下列一组命令行实用程序。

pdfdetach-列出或提取嵌入式文件。

pdffonts-字体分析工具。

pdfimages-图像提取工具。

pdfinfo-文档信息。

pdfseparate-页面提取工具。

pdfsig-验证数字签名。

pdftocairo-使用Cairo,将PDF转换成PNG/JPEG/PDF/PS/EPS/SVG。

pdftohtml-将PDF转换成HTML。

pdftoppm-将PDF转换成PPM/PNG/JPEG图像。

pdftops -将PDF转换成PostScript(PS)。

pdftotext-文本提取。

pdfunite-文档合并工具。

我们在本文中仅使用“pdftops”实用程序。

想在基于Arch Linux的发行版上安装Poppler,请运行:

$ sudo pacman -S poppler

在Debian、Ubuntu或Linux Mint上:

$ sudo apt-get install poppler-utils

在RHEL、CentOS或Fedora上:

$ sudo yum install poppler-utils

一旦Poppler安装完毕,运行下列命令来解密受密码保护的PDF文件,并创建一个名为output.pdf的新的同等文件。

$ pdftops -upw 123456 secure.pdfoutput.pdf

再次将“123456”换成你的PDF密码。

你在上述所有方法中可能注意到了,我们只是将名为“secure.pdf”的受密码保护的PDF文件转换成名为“output.pdf”的另一个同等的PDF文件。严格上来讲,我们并没有解除源文件的密码,而是解密,并将其另存为另一个不受密码保护的同等的PDF文件。

第四种方法:打印到文件

这是所有上述方法中最简单的方法。你可以使用现有的PDF查看工具(比如Atril文档查看工具或Evince等),将受密码保护的PDF文件打印到另一个文件。

在PDF查看应用软件中打开受密码保护的文件。进入到“文件- >打印”。并将PDF文件保存在你选择的任何位置。

2bd535062a11f0ee28e15f407e8fca95.png

就是这样。但愿这一招有用。你知道/使用其他方法解除PDF文件的密码保护吗?欢迎留言交流。

原文标题:How To Remove Password From A PDF File in Linux,作者:SK

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

【编辑推荐】

【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366812.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#中结构体定义并转换字节数组

ref: https://www.cnblogs.com/dafanjoy/p/7818126.html C#中结构体定义并转换字节数组 最近的项目在做socket通信报文解析的时候,用到了结构体与字节数组的转换;由于客户端采用C开发,服务端采用C#开发,所以双方必须保证各自定义结…

解析robots.txt

案例: http://www.taobao.com/robots.txt 学习: User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录Disal…

2018移动端页面适配-自适应最新方案直接写px--------通过gulp工作流搭建一体化的移动端开发环境

1.开始 在flexible的GitHub上面写着 由于viewport单位得到众多浏览器的兼容,lib-flexible这个过渡方案已经可以放弃使用,不管是现在的版本还是以前的版本,都存有一定的问题。建议大家开始使用viewport来替代此方案。vw的兼容方案可以参阅《如…

jclouds的命令行界面

序幕 我使用和为jclouds贡献了一年多的时间。 到目前为止,我已经在很多领域广泛使用了它,尤其是在Fuse生态系统中 。 它的强大之处在于它缺少一件事,该工具可用于管理jclouds也提供访问权限的任何云提供商。 类似于EC2命令之类的工具&#xf…

中兴linux下载软件,国产操作系统中兴新支点使用WPS For Linux办公软件的体验报告...

以下将给你带来在国产操作系统中兴新支点操作系统下使用WPS For Linux办公软件的体验报告,WPS For Linux提供Deb、Rpm、Tar.xz、Snap软件包,你可以选择Tar.xz源码包编译安装,或在系统自带的软件中心下安装,也可以参考采用snap方式…

Java 教程(开发环境配置+基础语法)

Java 开发环境配置 在本章节中我们将为大家介绍如何搭建Java开发环境。 window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,点击如下下载按钮&am…

数据采集工具Telegraf:简介及安装

接着上一篇博客:InfluxDB简介及安装,这篇博客介绍下Linux环境下Telegraf安装以及其功能特点。。。 官网地址:influxdata 官方文档:telegraf文档 环境:CentOS7.4 64位 Telegraf版本:0.11.1-1 一、Telegraf介…

初探小程序插件

插播公司招聘信息: https://cnodejs.org/topic/5a915706653c43b914684f90 小程序插件可以干嘛? 周二晚上(3.13)的一个小程序新功能发布了-【小程序插件】,一开始以为是小程序发布了类似npm的组件管理工具,…

流畅和稳定的API的Lambda

几周前,我写了关于Java 8 lambda的介绍 。 在本简介中,我解释了什么是lambda以及如何将它们与Java 8中也引入的新Stream API结合使用。 Stream API为集合提供了更实用的接口。 此接口在很大程度上取决于lambda。 但是,lambda不仅具有改进的收…

linux 内存使用原理,linux中内存使用原理

首先介绍一下linux中内存是如何使用的。当有应用需要读写磁盘数据时,由系统把相关数据从磁盘读取到内存,如果物理内存不够,则把内存中的部分数据导入到磁盘,从而把磁盘的部分空间当作虚拟内存来使用,也称为Swap。如果给…

Confluence 6 站点备份和恢复

Atlassian 推荐针对生产环境中安装使用的 Confluence 使用原始数据库工具备份策略。 在默认的情况下,Confluence 每天都会备份所有数据和附件到 XML 文件备份中。这些文件被称为 XML 站点备份,同时这些文件存储在 Confluence home 目录中的 backups 目录…

休眠事实:等于和HashCode

每个Java对象都继承了equals和hashCode方法,但它们仅对Value对象有用,对面向无状态行为的对象毫无用处。 尽管使用“ ”运算符比较引用很简单,但是对于对象相等而言,事情要复杂一些。 由于您负责告诉平等性对特定对象类型的含义…

从mysql向HBase+Phoenix迁移数据的心得总结

* 转载请注明出处 - yosql473 - 格物致知,经世致用 mysql -> HBase Phoenix 1.总体方案有哪些? 1)通过Sqoop直接从服务器(JDBC方式)抽取数据到HBase中 因为数据量非常大,因此优先考虑用Sqoop和MR抽取。 使用Sqoop抽取数据有一…

玩转异步 JS :async/await 简明教程(附视频下载)

课程介绍 在软件开发领域,简洁的代码 > 容易阅读的代码 > 容易维护的代码,而 ES2017 中的 async/await 特性能让我们编写出相比回调地狱和 Promise 链式调用更直观、更容易理解的代码,await 关键字接收一个 Promise,等待代码…

linux 无法找到函数定义,找到定义Linux函数的位置

使用手册页对于基本的C函数,该手册页应该工作。man 2 readman 3 printf第2节为系统调用(直接到内核),而第3是用于标准C库调用。您通常可以省略该部分,并且人将自己弄清楚您需要什么。请注意,您可能需要采取额外步骤在系统上获取与…

序列自动机—— [FJOI2016]所有公共子序列问题

序列自动机&#xff1a; 是一个处理子序列的自动机。就这样。 建造&#xff1a;&#xff08;By猫老师&#xff1a;immoralCO猫&#xff09; s[] next[][26] memset(next[n], -1, 26<<2); for(int i n; i; --i) {memcpy(next[i - 1], next[i], 26 << 2);next[i - 1…

1000种对Java的响应没有死

当一篇评论发表1000条评论时&#xff0c;值得考虑一下。 我上周的社论“ 如果Java即将死&#xff0c;它肯定看起来非常健康 ”在各个开发人员社区中都感到不安 。 在Reddit&#xff0c;Hacker News和Slashdot之间&#xff0c;它收到了1000多个评论。 奇怪的是&#xff0c;很少…

java导包

下载响应的zip文件&#xff0c;就可以导入了&#xff0c;导入src目录也是可以的。 转载于:https://www.cnblogs.com/liaoxiaolao/p/9902062.html

分享轮子-flutter下拉刷新上拉加载

flutter下拉上拉组件轮子 什么是flutter? 首先说下flutter,估计这个应该挺多人没听过flutter这个框架,它是一个google推出的跨平台的移动应用UI框架,和React Native是同样的目的,支持三大平台:Android,Ios,还有一个是google新出的系统,忘了叫什么...本人React Native也是用过…

linux块设备驱动中断程序,linux设备驱动归纳总结(六):1.中断的实现

linux设备驱动归纳总结(六)&#xff1a;1.中断的实现xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx一、什么是中断中断分两种&#xff1a;1)中断&#xff0c;又叫外部中断或异步中断&#xff0c;它的产生是由于外设向处理器发出中断…