![无法从在线加密文档中复制文本](https://linux22.com/image/1361106/%E6%97%A0%E6%B3%95%E4%BB%8E%E5%9C%A8%E7%BA%BF%E5%8A%A0%E5%AF%86%E6%96%87%E6%A1%A3%E4%B8%AD%E5%A4%8D%E5%88%B6%E6%96%87%E6%9C%AC.png)
我无法打印该页面或复制文本,因为出于某种原因,加密下载不是一种选项!
如果我复制以下内容:
She is unapproachable
当我粘贴到任何程序/应用程序中时,都会得到此信息:
Zdn az ~gfppbfjdf`hn
这在线 PDF。
类似的问题还有,无法从 pdf 文件复制文本不符合我的问题的描述,我已经搜索了一个小时了。
有人能给我指出正确的方向吗?
答案1
我没有您实际提出的问题的解决方案,即如何复制文本并使其可读。
但是!从您的示例来看,这里的“加密”似乎只是一个简单的字符替换。在这种情况下,将复制的文本通过过滤器进行解密并产生可读结果并不难。例如,假设以下脚本名为decrypt.pl
:
#!/usr/bin/perl
use strict;
use utf8;
binmode STDIN, ':utf8';
my %map = (
# from => to
'z' => 's',
'd' => 'h',
'n' => 'e',
'a' => 'i',
'~' => 'u',
'g' => 'n',
'f' => 'a',
'p' => 'p',
'' => 'r',
'b' => 'o',
'j' => 'c',
'd' => 'h',
'`' => 'b',
'h' => 'l',
# other substitutions here
);
while (my $line = <STDIN>) {
foreach my $char (split(//, $line)) {
my $upcase = (lc($char) eq $char ? 0 : 1);
my $found = $map{lc($char)};
if (!$found) {
die "No substitution found for character '$char'\n";
};
$found = uc($found) if $upcase;
print $found;
};
};
如果你将 PDF 中的任意文本复制到名为的文件中source
,然后执行cat source | perl decrypt.pl > destination
,则该文件destination
将包含解密的内容:
[user@host tmp]$ echo 'Zdn az ~gfppbfjdf`hn' > source
[user@host tmp]$ cat source | perl decrypt.pl > destination
[user@host tmp]$ cat destination
She is unapproachable
[user@host tmp]$