gpt4 book ai didi

javascript - 删除 pdf 中嵌入的 javascript 打印代码

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:33:55 27 4
gpt4 key购买 nike

我有一台生成 PDF 的服务器,我无权访问或更改服务器上的设置。

当服务器生成 pdf 时,它会将以下 javascript 代码嵌入到文件中,这样当任何 PDF 阅读器/查看器打开它时,PRINT DOCUMENT 屏幕会自动打开。这是非常不方便和令人沮丧的。

一开始文件中的代码如下所示:

%PDF-1.4
%âãÏÓ
1 0 obj
<</S/JavaScript/JS(this.print\(true , 0,this.numPages-1,false\);\r)>>
endobj
3 0 obj
<</Length 10/Filter/FlateDecode>>stream
xœ+ä
SNIP

我认为删除 javascript 行并防止弹出自动打印屏幕是一件容易的事。

我已经试过了(只是进行了字符串搜索并替换并删除了第 4 行)。这确实会阻止打印屏幕出现 - 但是当在一些 PDF 查看器(goodreader 等)中打开时,会立即标记为损坏的 PDF。

我可以点击修复选项,一切正常,但我想知道,我能做些什么来用某种 NOOP 代码替换 javascript 代码,以防止文件损坏,同时仍然阻止打印页?

这是源文件的链接:https://www.dropbox.com/s/kziy6evi57cfhb3/2014-04-04_EIKY.pdf (800k)

有没有办法使 pdf 对象或类似的东西无效?

谢谢。

最佳答案

由于 PDF 会进行检查以确保内容长度在某些点未发生变化,因此您无法添加或删除字符。但是你可以改变它们。您可以这样更改它:

<</S/JavaScript/JS(this.print\(true , 0,this.numPages-1,false\);\r)>>

对此

<</S/JavaScript/JS(;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r)>>

例如。

关于javascript - 删除 pdf 中嵌入的 javascript 打印代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22867341/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com